์ ์ฑ ํ์ฅ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ณดํธํ๋ ๊ฐ๋ ฅํ ๋ณด์ ๋ชจ๋ธ์ ์ฌ์ธต์ ์ผ๋ก ๋ถ์ํ๊ณ , ์์ ํ ๊ธ๋ก๋ฒ ์น ๊ฒฝํ์ ์ ์งํ๋ ๋ฐ ์์ด ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ ํต์ฌ์ ์ธ ์ญํ ์ ์ง์ค ์กฐ๋ช ํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์ ๋ชจ๋ธ: ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ค ๊ตฌํ ์ฌ์ธต ๋ถ์
์ ์ ๋ ์ํธ ์ฐ๊ฒฐ๋๋ ๋์งํธ ์ธ์์์ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์์ฐ์ฑ์ ํฅ์์ํค๊ณ , ์น ๊ฒฝํ์ ๊ฐ์ธํํ๋ฉฐ, ์๋ง์ ์๋น์ค๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ง์ ํตํฉํ๋ ํ์์ ์ธ ๋๊ตฌ๊ฐ ๋์์ต๋๋ค. ๊ด๊ณ ์ฐจ๋จ๊ธฐ ๋ฐ ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ์๋ถํฐ ์ธ์ด ๋ฒ์ญ๊ธฐ ๋ฐ ์์ฐ์ฑ ์ถ์ ๊ธฐ์ ์ด๋ฅด๊ธฐ๊น์ง, ์ด๋ฌํ ์์ ์ํํธ์จ์ด ๋ชจ๋์ ์์ฒญ๋ ํธ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์๋ ์ค๋ํ ์ฑ ์๊ณผ ๋ณธ์ง์ ์ธ ๋ณด์ ์ํ์ด ๋ฐ๋ฆ ๋๋ค. ๋จ ํ๋์ ์ ์ฑ ๋๋ ์ทจ์ฝํ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ฏผ๊ฐํ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์์์ํค๊ฑฐ๋, ์์น ์๋ ์ฝํ ์ธ ๋ฅผ ์ฃผ์ ํ๊ฑฐ๋, ์ฌ์ง์ด ๊ณ ๊ธ ํผ์ฑ ๊ณต๊ฒฉ์ ์ฉ์ดํ๊ฒ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ํ์ค์ ๊ฐ๋ ฅํ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์ ๋ชจ๋ธ์ ์ค์์ฑ์ ๊ฐ์กฐํ๋ฉฐ, ๊ทธ ํต์ฌ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ค ๊ตฌํ์ด ์๋ฆฌ ์ก๊ณ ์์ต๋๋ค.
์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ ๊ธฐํ๋ ์ ์ฌ์ ์ํ์ผ๋ก๋ถํฐ ์ฌ์ฉ์๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ์ค๊ณ๋ ๋ณต์กํ ๋ณด์ ๊ณ์ธต์ ์ฌ์ธต์ ์ผ๋ก ๋ค๋ฃฐ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ณด์ ๋ชจ๋ธ์ ์ง๋ฐฐํ๋ ๊ธฐ๋ณธ ์์น์ ํ๊ตฌํ๊ณ , ํนํ ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ด ์ด๋ป๊ฒ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ๋ง๋ค์ด ์ ์ฑ ์ฝ๋๊ฐ ํ๊ดด์ ์ธ ํ์๋ฅผ ํ๋ ๊ฒ์ ๋ฐฉ์งํ๋์ง์ ์ด์ ์ ๋ง์ถ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ์ดํดํ๋ ๊ฒ์ ๋ณด์ ์ ๋ฌธ๊ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๋ฟ๋ง ์๋๋ผ, ์ ์ธ๊ณ์์ ๋งค์ผ ์ด๋ฌํ ๊ฐ๋ ฅํ ๋ธ๋ผ์ฐ์ ํฅ์ ๊ธฐ๋ฅ์ ์์กดํ๋ ๋ชจ๋ ์ธํฐ๋ท ์ฌ์ฉ์์๊ฒ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋ ์ ๊ฒ: ๊ฐ๋ ฅํ ๊ธฐ๋ฅ๊ณผ ์ ์ฌ์ ์ํ
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์น ๋ธ๋ผ์ฐ์ ๋ด์์ ์คํ๋๋ ์์ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก, ์ผ๋ฐ์ ์ธ ์น์ฌ์ดํธ๊ฐ ์์ ํ ๊ฒ๋ณด๋ค ํจ์ฌ ๋์ ์์ค์ ์ ๊ทผ ๊ถํ๊ณผ ๊ธฐ๋ฅ์ ๋ถ์ฌ๋ฐ์ต๋๋ค. ์ด๋ฌํ ์์น๋ ๊ถํ์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋งค์ฐ ์ ์ฉํ๊ฒ ๋ง๋ค์ง๋ง, ๋์์ ๋งค์ฐ ์ํํ๊ฒ ๋ง๋ญ๋๋ค.
์ฅ์ : ์์ฐ์ฑ ๋ฐ ๊ฐ์ธํ ๊ธฐ๋ฅ์ ์ ๊ธ ํด์
- ํฅ์๋ ๊ธฐ๋ฅ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ์น์ฌ์ดํธ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋, ์ 3์ ์๋น์ค(ํ๋ก์ ํธ ๊ด๋ฆฌ ๋๊ตฌ๋ ์ปค๋ฎค๋์ผ์ด์ ํ๋ซํผ ๋ฑ)๋ฅผ ํตํฉํ๊ฑฐ๋, ์ถ๊ฐ ์ ๋ณด ์ค๋ฒ๋ ์ด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ์์ฐ์ฑ ๋ถ์คํฐ: ๋ง์ถค๋ฒ ๊ฒ์ฌ, ํญ ๊ด๋ฆฌ, ๋ฉ๋ชจ ์์ฑ, ์์ฃผ ์ฌ์ฉํ๋ ์๋น์ค์ ๋ํ ๋น ๋ฅธ ์ ๊ทผ์ ์ํ ๋๊ตฌ๋ค์ ์ ์ธ๊ณ ์ ๋ฌธ๊ฐ๋ค์ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ํํฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ ์์ฒญ์ ๊ฒ์ฌํ๊ฑฐ๋ ์๊ฐ๊ฐ ๋ฌธ๋ฒ์ ํ์ธํ๋ ๊ฒ์ ์์ํด ๋ณด์ธ์. ์ด๋ ์ ์ธ๊ณ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์ ๋๋ค.
- ๊ฐ์ธํ: ํ ๋ง, ๊ธ๊ผด์ ์ฌ์ฉ์ ์ ์ํ๊ณ ์์น ์๋ ์ฝํ ์ธ (๊ด๊ณ ๋ฑ)๋ฅผ ์ฐจ๋จํจ์ผ๋ก์จ ์ฌ์ฉ์๋ ์ง๋ฆฌ์ ์์น์ ๊ด๊ณ์์ด ์์ ์ ํน์ ์ ํธ๋์ ํ์์ ๋ง๊ฒ ๋ธ๋ผ์ฐ์ง ๊ฒฝํ์ ๋ง์ถค ์ค์ ํ ์ ์์ต๋๋ค.
- ์ ๊ทผ์ฑ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ์คํฌ๋ฆฐ ๋ฆฌ๋, ๋๋ณด๊ธฐ ๋๋ ์์ ๋๋น ์กฐ์ ๊ณผ ๊ฐ์ ์ค์ํ ์ ๊ทผ์ฑ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ๋ชจ๋ ๋๋ฅ์ ๋ค์ํ ์ฌ์ฉ์๋ค์ด ์น์ ๋ ํฌ์ฉ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
์ํ: ์ทจ์ฝ์ ๋ฐ ์ ์ฉ์ ํต๋ก
์ ์ฉ์ฑ์๋ ๋ถ๊ตฌํ๊ณ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋นํ ๊ณต๊ฒฉ ํ๋ฉด์ ๋ํ๋ ๋๋ค. ์น ํ์ด์ง์ ์ํธ ์์ฉํ๊ณ , ์ฝํ ์ธ ๋ฅผ ์์ ํ๋ฉฐ, ๋ก์ปฌ ์ ์ฅ์์ ์ ๊ทผํ๊ณ , ์๊ฒฉ ์๋ฒ์ ํต์ ํ๋ ๋ฅ๋ ฅ์ ์ ์์ ์ธ ํ์์์ ์ํด ์ ์ฉ๋ ์ ์์ต๋๋ค. ์ญ์ฌ์ ์ผ๋ก ์๋ง์ ์ฌ๊ฑด๋ค์ด ์ด๋ฌํ ์ทจ์ฝ์ ์ ๋ถ๊ฐ์์ผฐ์ต๋๋ค:
- ๋ฐ์ดํฐ ๋๋: ์ ์ฑ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ธ๋ผ์ฐ์ง ๊ธฐ๋ก, ๋ก๊ทธ์ธ ์๊ฒฉ ์ฆ๋ช , ๊ธ์ต ์ ๋ณด ๋ฐ ๊ฐ์ธ ์๋ณ์๋ฅผ ํฌํจํ ๋ฏผ๊ฐํ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ ์๊ฒฉ ์๋ฒ๋ก ์ ์กํ๋ ์ฌ๋ก๊ฐ ๋ฐ๊ฒฌ๋์์ต๋๋ค. ์ด๋ ๊ฐ์ธ๊ณผ ์กฐ์ง์ ๋ณดํธ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น๋ ์ธ๊ณ์ ์ธ ์ํ์ ๋๋ค.
- ์ ๋์จ์ด ๋ฐ ๋ฉ๋ฒํ์ด์ง: ์ผ๋ถ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์น ํ์ด์ง์ ์์น ์๋ ๊ด๊ณ ๋ฅผ ์ฃผ์ ํ๊ฑฐ๋, ์ฌ์ฉ์๋ฅผ ์ ์ฑ ์ฌ์ดํธ๋ก ๋ฆฌ๋๋ ์ ํ๊ฑฐ๋, ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๊ฒฝํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ํ์ํค๊ณ ์ถ๊ฐ์ ์ธ ์ ์ฑ ์ฝ๋์ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ ๋์ ๋๋ค. ์ด๋ฌํ ๊ณํ์ ์ข ์ข ์ต๋์ ๋๋ฌ ๋ฒ์๋ฅผ ์ํด ์ ์ธ๊ณ ๊ณ ๊ฐ์ ๋์์ผ๋ก ํฉ๋๋ค.
- ํผ์ฑ ๋ฐ ์๊ฒฉ ์ฆ๋ช ์์ง: ํ์ฅ ํ๋ก๊ทธ๋จ์ ํฉ๋ฒ์ ์ธ ๋๊ตฌ๋ก ์์ฅํ์ฌ ์ฌ์ฉ์๋ฅผ ์์ฌ ๊ฐ์ง ์ฌ์ดํธ๋ ํ์ฅ ํ๋ก๊ทธ๋จ ์ธํฐํ์ด์ค ๋ด์์ ์ง์ ๋ก๊ทธ์ธ ์๊ฒฉ ์ฆ๋ช ์ ๋ ธ์ถํ๋๋ก ์ ๋ํ ์ ์์ต๋๋ค. ๊ฐ์ง ์ํธํํ ์ง๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ์์ ๋์งํธ ์์ฐ์ ๋นผ๋๋ฆฌ๋ ์๋๋ฆฌ์ค๋ฅผ ์์ํด ๋ณด์ธ์. ์ด๋ ๋ชจ๋ ๊ฒฝ์ ๊ถ์์ ๊ด๋ จ์ฑ์ด ์๋ ๋ฌธ์ ์ ๋๋ค.
- ๋ธ๋ผ์ฐ์ ํ์ด์ฌํน: ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์ ๋์ ์์ด ๊ธฐ๋ณธ ๊ฒ์ ์์ง, ํํ์ด์ง ์ค์ , ์ ํญ ํ์ด์ง๋ฅผ ๋ณ๊ฒฝํ์ฌ ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ง ๊ฒฝํ์ ๋ค์ ์ ์ดํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
- ๊ณต๊ธ๋ง ๊ณต๊ฒฉ: ํฉ๋ฒ์ ์ธ ํ์ฅ ํ๋ก๊ทธ๋จ๋ ์์๋ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์์ ๊ณ์ ์ด ์นจํด๋๋ฉด ์๋ฐฑ๋ง ๋ช ์ ์ฌ์ฉ์์๊ฒ ์ ์ฑ ์ ๋ฐ์ดํธ๊ฐ ๋ฐฐํฌ๋์ด ์ ๋ขฐ๋ฐ๋ ๋๊ตฌ๊ฐ ๊ด๋ฒ์ํ ์ํ์ผ๋ก ๋ณ๋ชจํ ์ ์์ต๋๋ค. ์ด๋ ์ ์ธ๊ณ์ ์ผ๋ก ๊ด์ฐฐ๋์์ผ๋ฉฐ, ์ง์ ์ ์ธ ํ์ ์ด ์๋๋๋ผ๋ ์ธ๊ธฐ ์๋ ์์๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค.
- ์ฐ๋ฐ์ ์ทจ์ฝ์ : ๋ชจ๋ ์ํ์ด ์๋์ ์ธ ๊ฒ์ ์๋๋๋ค. ์ ๋๋ก ์์ฑ๋์ง ์์๊ฑฐ๋ ์ ์ง ๊ด๋ฆฌ๋์ง ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ์๋ ๋ณด์ ํ์ ์ ๋ง๋๋ ๋ฒ๊ทธ๊ฐ ํฌํจ๋ ์ ์์ผ๋ฉฐ, ์ด๋ ์ธ๋ถ ๊ณต๊ฒฉ์์ ์ํด ์ ์ฉ๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ทจ์ฝ์ ์ ์๋ํ์ง ์์๋๋ผ๋ ๊ณ ์์ ์ธ ๊ณต๊ฒฉ๋งํผ ์ฌ๊ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค.
ํต์ฌ ๋ฌธ์ ์ดํดํ๊ธฐ: ์์น๋ ๊ถํ
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ณดํธํ๋ ๋ฐ ์์ด ๊ทผ๋ณธ์ ์ธ ๊ณผ์ ๋ ๋ณธ์ง์ ์ผ๋ก ์์น๋ ๊ถํ์ด ํ์ํ๋ค๋ ์ ์ ์์ต๋๋ค. ์๊ฒฉํ ๋ธ๋ผ์ฐ์ ๋ถ๊ณผ ๋ณด์ ๊ฒฝ๊ณ(๋์ผ ์ถ์ฒ ์ ์ฑ ๋ฑ) ๋ด์์ ์๋ํ๋ ์ผ๋ฐ์ ์ธ ์น์ฌ์ดํธ์ ๋ฌ๋ฆฌ, ํ์ฅ ํ๋ก๊ทธ๋จ์ ํจ๊ณผ์ ์ผ๋ก ๊ธฐ๋ฅํ๊ธฐ ์ํด ์ข ์ข ๋ ๊ด๋ฒ์ํ ์ ๊ทผ์ด ํ์ํฉ๋๋ค.
ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ผ๋ฐ ์นํ์ด์ง๋ณด๋ค ๋ ๋ง์ ์ ๊ทผ ๊ถํ์ ํ์๋ก ํ๋ ์ด์
- ์ฌ๋ฌ ์น์ฌ์ดํธ์ ์ํธ ์์ฉ: ๊ด๊ณ ์ฐจ๋จ๊ธฐ๋ ์ ์ฌ์ ์ผ๋ก ๋ชจ๋ ์น์ฌ์ดํธ์ ์ฝํ ์ธ ๋ฅผ ์ฝ๊ณ ์์ ํด์ผ ํฉ๋๋ค. ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ์๋ ๋ค์ํ ๋๋ฉ์ธ์ ๋ก๊ทธ์ธ ์์์ ์๊ฒฉ ์ฆ๋ช ์ ์ฃผ์ ํด์ผ ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ API ์ ๊ทผ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ํญ ๊ด๋ฆฌ, ๋ธ๋ผ์ฐ์ง ๊ธฐ๋ก ์ ๊ทผ, ํ์ผ ๋ค์ด๋ก๋, ๋ก์ปฌ ์ ์ฅ์ ์ฌ์ฉ ๋๋ ์๋ฆผ ํ์์ ๊ฐ์ ํต์ฌ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ๊ณผ ์ํธ ์์ฉํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์์ ์ ์ผ๋ฐ์ ์ผ๋ก ํ์ค ์น ํ์ด์ง์์๋ ์ ํ๋ฉ๋๋ค.
- ์ง์์ฑ: ๋ง์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ ๋๊ธฐํ๋ ์ด๋ฒคํธ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ํ์ฑ ํญ๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ง์์ ์ผ๋ก ์คํ๋์ด์ผ ํฉ๋๋ค.
๊ณผ์ : ๋ธ๋ผ์ฐ์ ๋ ์ฌ์ฉ์๋ฅผ ์ํํ์ง ์์ผ๋ฉด์ ๊ถํ ๋ถ์ฌํ๊ธฐ
๋๋ ๋ง๋ ๋ช ํํฉ๋๋ค: ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์๋๋ก ํ์ํ ๊ถํ์ ๋ถ์ฌํ๋ฉด์๋ ๋จ์ฉ์ ๋ฌธ์ ์ด์ง ์์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น์? ๋ฐ๋ก ์ด ์ง์ ์์ ์ ๊ตํ๊ณ ๋ค์ธต์ ์ธ ๋ณด์ ๋ชจ๋ธ์ด ์ญํ ์ ํฉ๋๋ค. ๋ชฉํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ ํ์ํ ์ต์ํ์ผ๋ก ๊ฒฉ๋ฆฌ, ์ ์ด ๋ฐ ์ ํํ์ฌ ํ๋์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์์๋๋๋ผ๋ ์ ์ฒด ๋ธ๋ผ์ฐ์ , ์ด์ ์ฒด์ ๋๋ ์ฌ์ฉ์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์์๋์ง ์๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์ ๋ชจ๋ธ: ๊ณ์ธต์ ๋ฐฉ์ด
ํ๋์ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์์ ๋จ์ผ ๊ธฐ๋ฅ์ด ์๋๋ผ ์ฌ๋ฌ ์ํธ ์ฐ๊ฒฐ๋ ๊ตฌ์ฑ ์์ ์์ ๊ตฌ์ถ๋ ํฌ๊ด์ ์ธ ์ํคํ ์ฒ์ ๋๋ค. ๊ฐ ๊ณ์ธต์ ์ํ์ ์ํํ๊ณ ๊ฒฝ๊ณ๋ฅผ ๊ฐ์ ํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
์ฃผ์ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋งค๋ํ์คํธ ํ์ผ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ, ๊ถํ ๋ฐ ๊ตฌ์กฐ๋ฅผ ์ ์ธํ๋ ์ค์ ๊ตฌ์ฑ ํ์ผ์ ๋๋ค. ๊ทธ ๋ฒ์ (์: ๋งค๋ํ์คํธ V2, ๋งค๋ํ์คํธ V3)์ ๊ธฐ๋ณธ ๋ณด์ ํจ๋ฌ๋ค์์ ๊ฒฐ์ ํฉ๋๋ค.
- ๊ถํ ๋ชจ๋ธ: ํน์ ์ ํ์ ์ ๊ทผ(์: "๋ชจ๋ ์น์ฌ์ดํธ์์ ๋ฐ์ดํฐ ์ ๊ทผ", "๋ธ๋ผ์ฐ์ง ๊ธฐ๋ก ์ฝ๊ธฐ ๋ฐ ๋ณ๊ฒฝ")์ ๋ํด ๋ช ์์ ์ธ ์ฌ์ฉ์ ๋์๋ฅผ ์๊ตฌํ๋ ์ธ๋ถํ๋ ์์คํ ์ ๋๋ค.
- ์ฝํ ์ธ ๋ณด์ ์ ์ฑ (CSP): ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ฆฌ์์ค(์คํฌ๋ฆฝํธ, ์คํ์ผ์ํธ, ์ด๋ฏธ์ง ๋ฑ)๋ฅผ ๋ก๋ํ ์ ์๋ ์์ค๋ฅผ ์ ํํ์ฌ ๊ต์ฐจ ์ฌ์ดํธ ์คํฌ๋ฆฝํ (XSS) ๋ฐ ๊ธฐํ ์ฝ๋ ์ฃผ์ ๊ณต๊ฒฉ์ ์ํํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
- ํธ์คํธ ๊ถํ: ๋งค๋ํ์คํธ์์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ํธ ์์ฉํ ์ ์๋ ์น์ฌ์ดํธ๋ฅผ ์ ์ํ๋ ํน์ ์ ์ธ์ ๋๋ค.
- ์น ์ ๊ทผ ๊ฐ๋ฅ ๋ฆฌ์์ค: ํ์ฅ ํ๋ก๊ทธ๋จ์ด ํน์ ํ์ผ(์ด๋ฏธ์ง๋ HTML ํ์ด์ง ๋ฑ)์ ์น ํ์ด์ง์ ๋ ธ์ถํ ์ ์๋๋ก ํ๋ ์ ์ด๋ ๋ฐฉ๋ฒ์ด์ง๋ง, ๋ช ์์ ์ผ๋ก ์ ์ธ๋ ๊ฒฝ์ฐ์๋ง ๊ฐ๋ฅํฉ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ: ํ์ฅ ํ๋ก๊ทธ๋จ ์ฝ๋, ํนํ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ์คํ์ ์ํธ ์์ฉํ๋ ์น ํ์ด์ง๋ก๋ถํฐ ๊ฒฉ๋ฆฌํ์ฌ ์ง์ ์ ์ธ ๊ฐ์ญ๊ณผ ๋ฐ์ดํฐ ์ ์ถ์ ๋ฐฉ์งํ๋ ํต์ฌ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
์ด ๋ชจ๋ ๊ณ์ธต์ด ์ค์ํ์ง๋ง, ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ค ๊ตฌํ์ ์ ์ฑ ์ฝ๋๊ฐ ํธ์คํธ ํ์ด์ง ๋ฐ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์ธ์ ๊ณผ ์ง์ ์ํธ ์์ฉํ๊ฑฐ๋ ์์์ํค๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ์์ด ๊ฐ์ฅ ๊ทผ๋ณธ์ ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ด๋ ๋ณด์ด์ง ์๋ ์ฅ๋ฒฝ์ ๋ง๋ค์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์คํฌ๋ฆฝํธ๊ฐ ํ์ด์ง๋ฅผ ์์ ํ ์ ์ดํ์ง ์์ผ๋ฉด์๋ ํ์ด์ง๋ฅผ ํฅ์์ํฌ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ค ์ฌ์ธต ๋ถ์
๋ณธ์ง์ ์ผ๋ก ์๋๋ฐ์ค๋ ์ ๋ขฐํ ์ ์๋ ์ฝ๋๊ฐ ์์คํ ์ ๋๋จธ์ง ๋ถ๋ถ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์คํ๋ ์ ์๋ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ ๋๋ค. ๋ง์น ์์ด์ ๋์ด ์ธํ๋ฆฌ์ ๊ฐ์ต๋๋ค. ์์ด๋ ๊ฒฝ๊ณ ์์์ ์์ ๋กญ๊ฒ ๋ ์ ์์ง๋ง, ๊ทธ ๋ฐ์ ๊ฒ์ ์ง์ ์ ๊ทผํ๊ฑฐ๋ ํด๋ฅผ ๋ผ์น ์๋ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋งฅ๋ฝ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ค๋ ์ฃผ๋ก ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ํด ์ ์ฌํ ๋ณดํธ ์ฅ๋ฒฝ์ ๋ง๋ญ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์ํ ์ด์
์๋ฐ์คํฌ๋ฆฝํธ๋ ์น์ ๊ณต์ฉ์ด์ด๋ฉฐ, ๊ฐ๋ ฅํ๊ณ ๋์ ์ ๋๋ค. ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(DOM)์ ์กฐ์ํ๊ณ , ๋คํธ์ํฌ ์์ฒญ์ ํ๊ณ , ๋ก์ปฌ ์ ์ฅ์์ ์ ๊ทผํ๋ ๋ฑ ๋ง์ ์์ ์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ํ์ ๋์ ์ธ ์น ๊ฒฝํ๊ณผ ์ ๊ตํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ํ์์ ์ด์ง๋ง, ๋์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊ณต๊ฒฉ์ ์ฃผ์ ๋งค๊ฐ์ฒด๋ก ๋ง๋ญ๋๋ค. ๊ฐ๋ ฅํ ์๋๋ฐ์ฑ์ด ์๋ค๋ฉด, ์ ์ฑ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ํ ์ ์์ต๋๋ค:
- ์นํ์ด์ง์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๊ฒฝ์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ(์: ์ธ์ฆ ํ ํฐ, ์ ์ฉ์นด๋ ๋ฒํธ)๋ฅผ ์ง์ ํ์นฉ๋๋ค.
- ์นํ์ด์ง์ ๋์์ ์๊ธฐ์น ์๊ณ ํด๋ก์ด ๋ฐฉ์์ผ๋ก ์์ ํฉ๋๋ค(์: ์ฌ์ฉ์ ๋ฆฌ๋๋ ์ , ๊ฐ์ง ์์ ์ฃผ์ ).
- ํ์ด์ง์ ์ ์ญ ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์๋ ํจ์์ ์ ๊ทผํ๊ฑฐ๋ ์์ ํ์ฌ ๊ถํ ์์น์ด๋ ์ถ๊ฐ์ ์ธ ์ ์ฉ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
- ์ ์ ํ ๊ฒฉ๋ฆฌ๋์ง ์์ ๊ฒฝ์ฐ, ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ธ๋ ๊ถํ ์์ด ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ API๋ฅผ ํธ์ถํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ค๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฝ๋์ ์นํ์ด์ง์ ์ฝ๋๊ฐ ๋ณ๊ฐ์ ๊ฒฉ๋ฆฌ๋ ์คํ ์ปจํ ์คํธ์์ ์๋ํ๋๋ก ๋ณด์ฅํจ์ผ๋ก์จ ์ด๋ฌํ ์ํ์ ์ํํฉ๋๋ค.
์๋ ๋ฐฉ์: ์คํ ์ปจํ ์คํธ ๊ฒฉ๋ฆฌ
"๊ฒฉ๋ฆฌ๋ ์ธ๊ณ(isolated worlds)"๋ผ๋ ๊ฐ๋ ์ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ ์ด์์ ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๋ก์ ์นํ์ด์ง์ ์ง์ ์ํธ ์์ฉํ๋ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๊ฐ ๋์ผํ DOM์์ ์๋ํ๋๋ผ๋ ์นํ์ด์ง ์์ฒด์ ๋์ผํ ์๋ฐ์คํฌ๋ฆฝํธ ์ ์ญ ํ๊ฒฝ์ ๊ณต์ ํ์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ํ ๊ฒฉ๋ฆฌ๋ ์ธ๊ณ (Isolated Worlds)
ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๊ฐ ์นํ์ด์ง์์ ์คํ๋ ๋, ๋ธ๋ผ์ฐ์ ๋ ์ด๋ฅผ "๊ฒฉ๋ฆฌ๋ ์ธ๊ณ"์ ์ฃผ์ ํฉ๋๋ค. ์ด๋ ๋ค์์ ์๋ฏธํฉ๋๋ค:
- ๋ณ๋์ ์ ์ญ ๊ฐ์ฒด: ์ฝํ
์ธ ์คํฌ๋ฆฝํธ๋ ์์ฒด์ ์ธ
window๊ฐ์ฒด,document๊ฐ์ฒด(๋์ผํ ๊ธฐ๋ณธ DOM์ ์ฐธ์กฐํ์ง๋ง) ๋ฐ ๊ธฐํ ๋ชจ๋ ์ ์ญ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๋๋ค. ์นํ์ด์ง์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์๋ ํจ์์ ์ง์ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ๊ทธ ๋ฐ๋๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. - ๊ณต์ ๋ DOM: ๊ฒฐ์ ์ ์ผ๋ก, ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ์นํ์ด์ง์ ์คํฌ๋ฆฝํธ ๋ชจ๋ ํ์ด์ง์ ๋์ผํ ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(DOM)์ ๋ํ ์ ๊ทผ์ ๊ณต์ ํฉ๋๋ค. ์ด๋ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๊ฐ ํ์ด์ง์ ์ฝํ ์ธ ๋ฅผ ์ฝ๊ณ ์์ ํ๋ ๋ชฉ์ ์ ๋ฌ์ฑํ๊ธฐ ์ํด ํ์ํฉ๋๋ค.
- ๋ฉ์์ง์ ํตํ ํต์ : ์ฝํ
์ธ ์คํฌ๋ฆฝํธ๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ(๋ ๋์ ๊ถํ์ ๊ฐ์ง)๋ ์นํ์ด์ง์ ์คํฌ๋ฆฝํธ์ ํต์ ํด์ผ ํ๋ ๊ฒฝ์ฐ, ์ ์ ์๋ ๋ช
์์ ์ธ ๋ฉ์์ง ์ฑ๋(์:
chrome.runtime.sendMessage,postMessage)์ ํตํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์ ์ด๋ ํต์ ์ ์๋ฐํ ๋ฐ์ดํฐ ์ ์ถ์ด๋ ๋ฌด๋จ ๋ช ๋ น ์คํ์ ๋ฐฉ์งํฉ๋๋ค.
๊ฒฉ๋ฆฌ๋ ์ธ๊ณ์ ์ด์ :
- ์ถฉ๋ ๋ฐฉ์ง: ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๊ฐ ์นํ์ด์ง์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ก์ง์ ์ฐ๋ฐ์ ์ผ๋ก ๋๋ ์ ์์ ์ผ๋ก ๋ฐฉํดํ๋ ๊ฒ์ ๋ง๊ณ , ํ์ด์ง ์คํฌ๋ฆฝํธ๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ด๋ถ ์๋์ ์กฐ์ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ๊ทผ ์ ํ: ์ ์ฑ ํ์ด์ง ์คํฌ๋ฆฝํธ๋ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ์ํด ์ ์๋ ๋ณ์๋ฅผ ์ง์ ์ฝ๊ฑฐ๋ ํจ์๋ฅผ ํธ์ถํ ์ ์์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํฉ๋๋ค. ๋ฐ๋๋ก, ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ ๋ช ์์ ์ธ DOM ์ํธ ์์ฉ ์์ด๋ ํ์ด์ง์ ๋ฏผ๊ฐํ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ๋ณด์ ๊ฐํ: ์นํ์ด์ง์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ทจ์ฝ์ ์ด ์กด์ฌํ๋๋ผ๋, ๊ทธ๊ฒ์ด ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ํ๊ฒฝ์ ์ง์ ์ ์ฉํ ์๋ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ์์๋ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ DOM์์ ์ง์ ๋ณด์ด๊ฑฐ๋ ๋ฉ์์ง์ ํตํด ๋ช ์์ ์ผ๋ก ์ ๋ฌ๋ ๊ฒ ์ด์์ ๋ฐ์ดํฐ๋ฅผ ํ์น๋ ๋ฅ๋ ฅ์ด ์ ํ๋ฉ๋๋ค.
๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๊ฐํด ๋ด ์๋ค. ๊ทธ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ ๋ก๊ทธ์ธ ์์์ ๊ฐ์งํ๊ณ ์๊ฒฉ ์ฆ๋ช ์ ์ฃผ์ ํ๊ธฐ ์ํด ์ ๋ ฅ ํ๋๋ฅผ ์ฝ์ด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒฉ๋ฆฌ๋ ์ธ๊ณ์์ ์๋ํ๋ฏ๋ก, ์น์ฌ์ดํธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ์์ ๋ด๋ถ ์ํ(์: ์ด๋ค ํน์ ๊ธ๊ณ ๊ฐ ์ด๋ ค ์๋์ง)๋ฅผ ์ฝ๊ฑฐ๋ ๊ทธ ๋ก์ง์ ์กฐ์ํ ์ ์์ต๋๋ค. ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ์ ์ญ์ ์น์ฌ์ดํธ์ ์๋ฐ์คํฌ๋ฆฝํธ ํจ์์ ์ง์ ์ ๊ทผํ์ฌ ์์์ ์์ ์ ํธ๋ฆฌ๊ฑฐํ ์ ์์ผ๋ฉฐ, ํ์์ ๋ฐ๋ผ DOM๊ณผ๋ง ์ํธ ์์ฉํ ์ ์์ต๋๋ค.
์๋น์ค ์์ปค (๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ)
์ฝํ ์ธ ์คํฌ๋ฆฝํธ ์ธ์๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์๋ ๋งค์ฐ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํ๋๋ ๋ค๋ฅธ ๊ตฌ์ฑ ์์๊ฐ ์์ต๋๋ค:
- ์๋น์ค ์์ปค(๋งค๋ํ์คํธ V3) / ๋ฐฑ๊ทธ๋ผ์ด๋ ํ์ด์ง(๋งค๋ํ์คํธ V2): ์ด๋ค์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์ ์ปจํธ๋กค๋ฌ์ ๋๋ค. ์ด๋ค์ ์ด๋ค ์นํ์ด์ง์๋, ์ฌ์ง์ด ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์๋ ๋ถ๋ฆฌ๋ ์์ ํ ๋ณ๊ฐ์ ํ๋ก์ธ์ค๋ ์ค๋ ๋์์ ์คํ๋ฉ๋๋ค. ์ด๋ค ์นํ์ด์ง์ DOM์๋ ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ์ง์ ์ ์ธ DOM ์ ๊ทผ ๋ถ๊ฐ: ์นํ์ด์ง์ DOM์ ์ง์ ๊ฑด๋๋ฆด ์ ์๋ค๋ ์ ์ ์ค์ํ ๋ณด์ ๊ธฐ๋ฅ์ ๋๋ค. ์นํ์ด์ง์์ ๋ชจ๋ ์ํธ ์์ฉ์ ์ ์ด๋ ๋ฉ์์ง ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค.
- ๊ฐ๋ ฅํ API ์ ๊ทผ: ์๋น์ค ์์ปค์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ธ๋ ๊ถํ์ด ํ์ฌ๋๋ ๊ณณ์
๋๋ค. ์ด๋ค์ ์ฝํ
์ธ ์คํฌ๋ฆฝํธ๋ ์ผ๋ฐ ์น ํ์ด์ง์์๋ ์ฌ์ฉํ ์ ์๋ ๋ธ๋ผ์ฐ์ API(์:
chrome.tabs,chrome.storage,chrome.webRequest)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด์ : ์๋น์ค ์์ปค์ ํน๊ถ ๋ก์ง์ ํ์ด์ง์ ์ํธ ์์ฉํ๋ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ๋ถ๋ฆฌํจ์ผ๋ก์จ ๊ณต๊ฒฉ ํ๋ฉด์ด ์ค์ด๋ญ๋๋ค. ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๊ฐ ์์๋๋๋ผ๋, ํต์ ์๋ ์ฌ์ ํ ๋ช ์์ ์ธ ๋ฉ์์ง์ด ํ์ํ๋ฏ๋ก ์๋น์ค ์์ปค๊ฐ ๊ด๋ฆฌํ๋ ๊ฐ๋ ฅํ ๋ธ๋ผ์ฐ์ API์ ์ฆ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
์๋๋ฐ์ค ์ฒ๋ฆฌ๋ Iframe
ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์ ๊ธฐ๋ฅ์๋ง ๊ตญํ๋ ๊ฒ์ ์๋์ง๋ง, ์๋๋ฐ์ค ์ฒ๋ฆฌ๋ iframe์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ ์ฌ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ์ฝํ
์ธ ๋ฅผ ์์ ํ๊ฒ ํ์ํ ์ ์๋๋ก ํ๋ ์ญํ ์ ํฉ๋๋ค. HTML iframe ์์์๋ sandbox ์์ฑ์ ๋ถ์ฌํ ์ ์์ผ๋ฉฐ, ์ด๋ ๊ทธ ์์ ๋ก๋๋ ์ฝํ
์ธ ์ ์๊ฒฉํ ์ ํ์ ์ ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก sandbox ์์ฑ์ ๊ถํ ์์น์ด๋ ๋ฐ์ดํฐ ์ ์ถ๋ก ์ด์ด์ง ์ ์๋ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ ๋นํ์ฑํํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค:
- ์คํฌ๋ฆฝํธ ์คํ.
- ์์ ์ ์ถ.
- ํฌ์ธํฐ ์ ๊ธ.
- ํ์ .
- ๋ถ๋ชจ์ DOM์ ๋ํ ์ ๊ทผ.
- ์ฝํ ์ธ ๋ฅผ ๋์ผ ์ถ์ฒ๋ก ์ทจ๊ธํ๋ ๊ฒ์ ๋ฐฉ์ง(๊ณ ์ ํ ์ถ์ฒ๋ก ๊ฐ์ ).
๊ฐ๋ฐ์๋ ํ ํฐ(์: allow-scripts, allow-forms)์ ์ฌ์ฉํ์ฌ ํน์ ๊ธฐ๋ฅ์ ์ ํ์ ์ผ๋ก ํ์ฑํํ ์ ์์ต๋๋ค. ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ 3์ ๊ด๊ณ , ์ฌ์ฉ์ ์์ฑ ์ฝํ
์ธ ๋๋ ์ธ๋ถ ์นํ์ด์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ์ํ๊ธฐ ์ํด ์๋๋ฐ์ค ์ฒ๋ฆฌ๋ iframe์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ํด๋น iframe ๋ด์ ๋ชจ๋ ์
์ฑ ์ฝ๋๊ฐ ํ์ถํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ด๋ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
ํ์ฅ ํ๋ก๊ทธ๋จ ๋ด ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ ํต์ฌ ์์น
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ๋ ๊ฒ์ ์ฌ๋ฌ ํต์ฌ ๋ณด์ ์์น์ ์์กดํฉ๋๋ค:
- ์ต์ ๊ถํ ์์น: ์ด ๊ทผ๋ณธ์ ์ธ ๋ณด์ ์์น์ ํ ๊ฐ์ฒด(์ด ๊ฒฝ์ฐ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ ์์)๊ฐ ์๋๋ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ฐ ํ์ํ ์ต์ํ์ ๊ถํ๊ณผ ๊ธฐ๋ฅ๋ง ๋ถ์ฌ๋ฐ์์ผ ํจ์ ๊ท์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ ๋ธ๋ผ์ฐ์ ์ ์ฅ์๋ ๋คํธ์ํฌ API์ ์ง์ ์ ๊ทผํ ํ์ ์์ด DOM ์ ๊ทผ๋ง ํ์ํฉ๋๋ค.
- ๊ฒฉ๋ฆฌ: ๋ ผ์๋ ๋ฐ์ ๊ฐ์ด, ์คํ ์ปจํ ์คํธ๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ ํธ์คํธ ์นํ์ด์ง ๊ฐ์ ์ง์ ์ ์ธ ๊ฐ์ญ๊ณผ ๋ฌด๋จ ์ ๊ทผ์ ๋ฐฉ์งํฉ๋๋ค.
- ์ ์ด๋ ํต์ : ๊ฒฉ๋ฆฌ๋ ๊ตฌ์ฑ ์์(์: ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ์๋น์ค ์์ปค, ๋๋ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ์นํ์ด์ง) ๊ฐ์ ๋ชจ๋ ์ํธ ์์ฉ์ ๋ช ์์ ์ด๊ณ , ์ ์ ์๋์์ผ๋ฉฐ, ๊ฐ์ฌ ๊ฐ๋ฅํ ๋ฉ์์ง ์ฑ๋์ ํตํด ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฒฝ๊ณ ๊ฐ์ ์ ๋ฌ๋๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ๊ณ ์ ํํ ์ ์์ต๋๋ค.
- ์ฝํ
์ธ ๋ณด์ ์ ์ฑ
(CSP): ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐํ์ ์๋๋ฐ์ค์ ์ผ๋ถ๋ ์๋์ง๋ง, CSP๋ ํ์ฅ ํ๋ก๊ทธ๋จ(๋๋ ์นํ์ด์ง)์ด ๋ก๋ํ๊ณ ์คํํ ์ ์๋ ๋ฆฌ์์ค ์ ํ์ ์ ํํจ์ผ๋ก์จ ์๋๋ฐ์ฑ์ ๋ณด์ํ๋ ์ ์ธ์ ๋ณด์ ๋ฉ์ปค๋์ฆ์
๋๋ค. ์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ ๋ขฐํ ์ ์๋ ์ธ๋ถ ๋๋ฉ์ธ์์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ก๋ํ๊ฑฐ๋, ์ธ๋ผ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋,
eval()๊ณผ ๊ฐ์ ์ ์ฌ์ ์ผ๋ก ์ํํ ์๋ฐ์คํฌ๋ฆฝํธ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ๋ณ ๊ตฌํ (์ผ๋ฐ ๊ฐ์)
๊ธฐ๋ณธ ์์น์ ๋ณดํธ์ ์ด์ง๋ง, ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๋ค์ ์ด๋ฌํ ๋ณด์ ๋ชจ๋ธ์ ์ฝ๊ฐ์ ์ฐจ์ด๋ฅผ ๋๊ณ ๊ตฌํํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ๊ณผ ๊ฐ๋ ฅํ ๊ถํ ๋ชจ๋ธ์ ํต์ฌ ๊ฐ๋ ์ ์ฃผ์ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋๊ฒ ์ ์ง๋ฉ๋๋ค:
- ํฌ๋ก๋ฏธ์ ๊ธฐ๋ฐ ๋ธ๋ผ์ฐ์ (ํฌ๋กฌ, ์ฃ์ง, ๋ธ๋ ์ด๋ธ, ์คํ๋ผ): ์ด ๋ธ๋ผ์ฐ์ ๋ค์ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์ ๋ํด "๊ฒฉ๋ฆฌ๋ ์ธ๊ณ" ๊ฐ๋ ์ ๊ด๋ฒ์ํ๊ฒ ํ์ฉํฉ๋๋ค. ๋งค๋ํ์คํธ V3 ์ ๋ฐ์ดํธ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ ์ํด ์๋น์ค ์์ปค๋ก ์ ํํ๊ณ ๋ ์๊ฒฉํ CSP ๋ฐ ์๊ฒฉ ์ฝ๋ ์ ํ์ ๊ฐ์ ํจ์ผ๋ก์จ ๋ณด์์ ๋์ฑ ๊ฐํํฉ๋๋ค.
- ๋ชจ์ง๋ผ ํ์ด์ดํญ์ค: ํ์ด์ดํญ์ค๋ ์น์ต์คํ ์ (WebExtensions)์ ๋ํด ์ ์ฌํ ๊ฒฉ๋ฆฌ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๊ฐ ์์ฒด ์ปจํ ์คํธ์์ ์คํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ํ์ด์ดํญ์ค์ ๋ณด์ ๋ชจ๋ธ์ ๋ํ ์ ๊ตํ ๊ถํ ์์คํ ๊ณผ API ์ ๊ทผ์ ์ํ ๊ฐ๋ ฅํ ๋ด๋ถ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ํฌ๊ฒ ์์กดํฉ๋๋ค.
- ์ ํ ์ฌํ๋ฆฌ: ์ฌํ๋ฆฌ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ชจ๋ธ, ํนํ ์น ์ต์คํ ์ (Web Extensions)์ ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ, ๊ฐ๋ ฅํ ๊ถํ ๋ชจ๋ธ, ์ฝํ ์ธ ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ ํฌํจํ์ฌ ์ ๊ณ ํ์ค ๋ณด์ ๊ดํ์ ๋๋ถ๋ถ์ ๋ฐ์ํฉ๋๋ค.
์ด๋ฌํ ๋ธ๋ผ์ฐ์ ๋ณ ๊ตฌํ์ ์ง์์ ์ธ ์งํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ณด์ ํ์ธ๋ฅผ ๊ฐ์ ํ๊ณ , ์๋ก์ด ์ํ์ ์ ์ํ๋ฉฐ, ์ ์ธ๊ณ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ์ํด ๊ธฐ๋ฅ์ฑ๊ณผ ์ฌ์ฉ์ ๋ณดํธ ์ฌ์ด์ ๊ท ํ์ ๋ง์ถ๋ ค๋ ์ง์์ ์ธ ๋ ธ๋ ฅ์ ๋ฐ์ํฉ๋๋ค.
๊ถํ ๋ชจ๋ธ: ์ธ๋ถํ๋ ์ ์ด
์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ฑ์ ๋ณด์ํ๋ ๊ถํ ๋ชจ๋ธ์ ๋ ๋ค๋ฅธ ์ค์ํ ๋ฐฉ์ด ๊ณ์ธต์ ๋๋ค. ์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ฌด์์ ํ ์ ์๊ณ ์ ๊ทผํ ์ ์๋์ง๋ฅผ ์ ์ํ๋ฉฐ, ์ค์น ์ ๋๋ ๋ฐํ์์ ๋ช ์์ ์ธ ์ฌ์ฉ์ ๋์๋ฅผ ์๊ตฌํฉ๋๋ค.
๋ช ์์ ์ธ ์ฌ์ฉ์ ๋์: ์ ์ค์ํ๊ฐ
์๊ฒฉํ ๋ธ๋ผ์ฐ์ ๋ณด์ ์ ์ฑ (๋์ผ ์ถ์ฒ ์ ์ฑ ๋ฑ) ํ์์ ์๋ํ๋ ์ผ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฌ๋ฆฌ, ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ฏผ๊ฐํ ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ์ ๋ํ ์ ๊ทผ์ ์์ฒญํ ์ ์์ต๋๋ค. ๊ถํ ๋ชจ๋ธ์ ์ฌ์ฉ์๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ถ๊ตฌํ๋ ๊ธฐ๋ฅ์ ์ธ์งํ๊ณ ์ ๋ณด์ ์ ๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ ๋, "๋ฐฉ๋ฌธํ๋ ๋ชจ๋ ์น์ฌ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ๋ณ๊ฒฝ"๊ณผ ๊ฐ์ ์์ฒญ ๊ถํ ๋ชฉ๋ก์ด ์ ์๋ฉ๋๋ค. ์ด๋ฌํ ํฌ๋ช ์ฑ์ ์ ๋ขฐ์ ๋ณด์์ ํ์์ ์ ๋๋ค.
ํธ์คํธ ๊ถํ: ํน์ ์น์ฌ์ดํธ ์ ๊ทผ
ํธ์คํธ ๊ถํ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ํธ ์์ฉํ ์ ์๋ ์น์ฌ์ดํธ๋ฅผ ์ ์ํฉ๋๋ค. ์ด๋ URL ์ผ์น ํจํด(์: *://*.example.com/*, https://*/*)์ ์ฌ์ฉํ์ฌ ์ง์ ๋ฉ๋๋ค.
- ํน์ ํธ์คํธ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ์์ฒด ๋ฐฑ์๋ ์๋น์ค๋ ํน์ ์์ ๋ฏธ๋์ด ํ๋ซํผ๊ณผ ๊ฐ์ ํน์ ๋๋ฉ์ธ์๋ง ์ ๊ทผํด์ผ ํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ํธ์คํธ (
<all_urls>): ๊ด๊ณ ์ฐจ๋จ๊ธฐ๋ ์คํฌ๋ฆฐ์ท ๋๊ตฌ์ ๊ฐ์ ์ผ๋ถ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์๊ฐ ๋ฐฉ๋ฌธํ๋ ๋ชจ๋ ์น์ฌ์ดํธ์ ํฉ๋ฒ์ ์ผ๋ก ์ ๊ทผํด์ผ ํฉ๋๋ค. ์ด๋ ๊ณ ์ํ ๊ถํ์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ ๋งค์ฐ ์ ๋ขฐํ ์ ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ์๋ง ๋ถ์ฌ๋์ด์ผ ํฉ๋๋ค.
ํ์ฅ ํ๋ก๊ทธ๋จ์ ํธ์คํธ ์ ๊ทผ์ ์ ํํจ์ผ๋ก์จ, ์์๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ผ๋ก ์ธํ ํผํด๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ๋ง์ฝ ํ์ฅ ํ๋ก๊ทธ๋จ์ด example.com์ ๋ํ ๊ถํ๋ง ๊ฐ์ง๊ณ ์๋ค๋ฉด, ๋ด๋ถ์ ์ผ๋ก ์ด๋ป๊ฒ๋ ์์๋๋๋ผ๋ banking.com์ ์
์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์ฃผ์
ํ ์ ์์ต๋๋ค.
API ๊ถํ: ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ ์ ๊ทผ
ํธ์คํธ ์ ๊ทผ ์ธ์๋, ํ์ฅ ํ๋ก๊ทธ๋จ์ ํน์ ๋ธ๋ผ์ฐ์ API๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๊ถํ์ด ํ์ํฉ๋๋ค. ์ด API๋ค์ ํต์ฌ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ์ ์ ์ดํฉ๋๋ค:
storage: ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ๋ก ์ ์ฅํฉ๋๋ค.tabs: ํญ์ ์์ฑ, ์์ ๋๋ ๋ซ๊ฑฐ๋, URL๊ณผ ์ ๋ชฉ์ ์ฝ์ต๋๋ค.cookies: ์ฟ ํค๋ฅผ ์ฝ๊ณ ์์ ํฉ๋๋ค.downloads: ํ์ผ ๋ค์ด๋ก๋๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.history: ๋ธ๋ผ์ฐ์ง ๊ธฐ๋ก์ ์ฝ๊ฑฐ๋ ์์ ํฉ๋๋ค.alarms: ์ฝ๋๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํํ๋๋ก ์์ฝํฉ๋๋ค.declarativeNetRequest: ๋คํธ์ํฌ ์์ฒญ์ ์ฐจ๋จํ๊ฑฐ๋ ์์ ํฉ๋๋ค (๋งค๋ํ์คํธ V3).
์์ฒญ๋ ๊ฐ API ๊ถํ์ ์ฌ์ฉ์์๊ฒ ๋ช
ํํ๊ฒ ๋์ด๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, history ๊ถํ์ ์์ฒญํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ธ๋ผ์ฐ์ง ๊ธฐ๋ก์ ์ ๊ทผํ๋ ค๋ ์๋๋ฅผ ๋ํ๋ด๋ฏ๋ก, ์ฌ์ฉ์๋ ์ด๊ฒ์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ช
์๋ ๋ชฉ์ ์ ์ ํฉํ์ง ๊ณ ๋ คํ๊ฒ ๋ฉ๋๋ค.
์ ํ์ ๊ถํ: ์ฌ์ฉ์ ์ ์ด ๊ฐํ
๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๋ ์ ํ์ ๊ถํ๋ ์ ๊ณตํฉ๋๋ค. ์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ค์น ํ์, ์ข ์ข ์ฌ์ฉ์ ํ๋์ ๊ธฐ๋ฐํ์ฌ ์์ฒญํ ์ ์๋ ๊ถํ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ง ํธ์ง๊ธฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฒ์์๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก ์ค์น๋ ์ ์์ง๋ง, ์ฌ์ฉ์๊ฐ ๋ช ์์ ์ผ๋ก "์ด๋ฏธ์ง ์ ์ฅ" ๋ฒํผ์ ํด๋ฆญํ๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ์์ "๋ค์ด๋ก๋" ํด๋์ ๋ํ ์ ๊ทผ์ ์์ฒญํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ด๊ธฐ ๊ณต๊ฒฉ ํ๋ฉด์ ๋์ฑ ์ค์ด๊ณ ์ฌ์ฉ์์๊ฒ ๋ฌด์์ ๋ํ ์ ๊ทผ์ ํ์ฉํ ์ง์ ๋ํ ๋ ์ธ๋ถํ๋ ์ ์ด๊ถ์ ๋ถ์ฌํ์ฌ ์ต์ ๊ถํ ์์น์ ๋ถํฉํฉ๋๋ค.
์ฝํ ์ธ ๋ณด์ ์ ์ฑ (CSP): ๊ฒ์ดํธํคํผ
์ฝํ ์ธ ๋ณด์ ์ ์ฑ (CSP)์ ๋ธ๋ผ์ฐ์ ์๊ฒ ํ์ฅ ํ๋ก๊ทธ๋จ(๋๋ ์นํ์ด์ง)์ด ์ด๋ค ๋ฆฌ์์ค๋ฅผ ๋ก๋ํ๊ณ ์คํํ ์ ์๋์ง ์ง์ํ๋ ์ ์ธ์ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์ด๋ ๊ฒ์ดํธํคํผ ์ญํ ์ ํ์ฌ ๊ด๋ฒ์ํ ์ฝ๋ ์ฃผ์ ๊ณต๊ฒฉ, ํนํ ๊ต์ฐจ ์ฌ์ดํธ ์คํฌ๋ฆฝํ (XSS)์ ๋ฐฉ์งํฉ๋๋ค.
CSP๋ ๋ฌด์์ด๋ฉฐ ์ด๋ป๊ฒ ์๋ํ๋๊ฐ
CSP๋ ์คํฌ๋ฆฝํธ, ์คํ์ผ์ํธ, ์ด๋ฏธ์ง, ๊ธ๊ผด๊ณผ ๊ฐ์ ๋ค์ํ ์ ํ์ ์ฝํ
์ธ ์ ๋ํด ํ์ฉ๋ ์์ค๋ฅผ ์ง์ ํ๋ ํค๋ ๋๋ ๋ฉํ ํ๊ทธ๋ก ์ ์๋ฉ๋๋ค. ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ, CSP๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ฅ ํ๋ก๊ทธ๋จ์ manifest.json ํ์ผ ๋ด์ ์ ์๋ฉ๋๋ค.
์ผ๋ฐ์ ์ธ CSP๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค:
"content_security_policy": {
"extension_pages": "script-src 'self'; object-src 'self'"
}
์ด ์ ์ฑ
์ ์คํฌ๋ฆฝํธ๋ ํ์ฅ ํ๋ก๊ทธ๋จ ์์ฒด('self')์์๋ง ๋ก๋ํ ์ ์๊ณ , ๊ฐ์ฒด(ํ๋์๋ ์๋ฐ ์ ํ๋ฆฟ ๋ฑ)๋ ํ์ฅ ํ๋ก๊ทธ๋จ ์์ฒด์์๋ง ๋ก๋ํ ์ ์์์ ๊ท์ ํฉ๋๋ค. ์ด๋ ์ธ๋ถ ๋๋ฉ์ธ์ ์คํฌ๋ฆฝํธ, ์ธ๋ผ์ธ ์คํฌ๋ฆฝํธ, ๊ทธ๋ฆฌ๊ณ eval() ๊ธฐ๋ฐ์ ์คํฌ๋ฆฝํธ ์คํ์ ์ฆ์ ์ฐจ๋จํฉ๋๋ค.
ํ์ฅ ํ๋ก๊ทธ๋จ ๋ด XSS ๋ฐ ์ธ์ ์ ๊ณต๊ฒฉ ๋ฐฉ์ง ์ญํ
CSP๋ ์ฃผ์ ๋ฒกํฐ๋ฅผ ์ํํจ์ผ๋ก์จ XSS์ ํนํ ํจ๊ณผ์ ์ ๋๋ค:
- ์ธ๋ผ์ธ ์คํฌ๋ฆฝํธ: ์ญ์ฌ์ ์ผ๋ก ๊ณต๊ฒฉ์๋ค์
<script>ํ๊ทธ๋ฅผ ํ์ด์ง์ HTML์ ์ง์ ์ฃผ์ ํ ์ ์์์ต๋๋ค. CSP๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ธ๋ผ์ธ ์คํฌ๋ฆฝํธ(onclick๊ณผ ๊ฐ์ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ ์คํฌ๋ฆฝํธ ๋ธ๋ก ๋ชจ๋)๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค. ์ด๋ก ์ธํด ๊ฐ๋ฐ์๋ค์ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ธ๋ถ ํ์ผ๋ก ์ฎ๊ฒจ์ผ ํ๋ฏ๋ก ์ฃผ์ ์ด ๋ ์ด๋ ค์์ง๋๋ค. - ์๊ฒฉ ์คํฌ๋ฆฝํธ: ์ผ๋ฐ์ ์ธ ๊ณต๊ฒฉ์
<script src="malicious.com/script.js">ํ๊ทธ๋ฅผ ์ฃผ์ ํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. CSP์script-src์ง์์ด๋ ๊ฐ๋ฐ์๊ฐ ์ ๋ขฐํ ์ ์๋ ๋๋ฉ์ธ์ ํ์ดํธ๋ฆฌ์คํธ์ ๋ฑ๋กํ ์ ์๊ฒ ํฉ๋๋ค. ๋ง์ฝmalicious.com์ด ํ์ดํธ๋ฆฌ์คํธ์ ์๋ค๋ฉด, ๋ธ๋ผ์ฐ์ ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ก๋ํ๊ณ ์คํํ๋ ๊ฒ์ ๊ฑฐ๋ถํ ๊ฒ์ ๋๋ค. - ์์ ํ์ง ์์ ์๋ฐ์คํฌ๋ฆฝํธ ํจ์ (
eval()):eval(),setTimeout(string),new Function(string)๊ณผ ๊ฐ์ ํจ์๋ ์์์ ๋ฌธ์์ด์ ์ฝ๋๋ก ์คํํ ์ ์์ด ์ํํฉ๋๋ค. CSP๋ ์ผ๋ฐ์ ์ผ๋ก ๋ช ์์ ์ผ๋ก ํ์ฉ๋์ง ์๋ ํ(๋ณด์ ์ปจํ ์คํธ์์๋ ์ผ๋ฐ์ ์ผ๋ก ๊ถ์ฅ๋์ง ์์) ์ด๋ค์ ์ฌ์ฉ์ ํ์ฉํ์ง ์์ต๋๋ค.
ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ, ์๊ฒฉํ CSP๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๋ ๊ณต๊ฒฉ์๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ฅ์๋ UI์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ์ ํ๋ ๋ฐ ์ฑ๊ณตํ๋๋ผ๋, ๊ทธ ๋ฐ์ดํฐ๋ฅผ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ก ๋ฐ๊ฟ ์ ์๋๋ก ๋ณด์ฅํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ ์์ฒด ํ๊ฒฝ ๋ด์์์ ๊ถํ ์์น์ ๋ฐฉ์งํฉ๋๋ค. ์ด๋ ํ์ ํ์ด์ง, ์ต์ ํ์ด์ง ๋ฐ ๊ธฐํ HTML ๋ฆฌ์์ค๋ฅผ ํฌํจํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๋ถ๋ถ์ ์ ์ฉ๋ฉ๋๋ค.
๋งค๋ํ์คํธ V3์์๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ํ CSP๊ฐ ๋์ฑ ์๊ฒฉํด์ ธ ์๊ฒฉ ์ฝ๋ ์คํ์ ๋ช ์์ ์ผ๋ก ๊ธ์งํฉ๋๋ค. ์ด๋ ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ ํจํค์ง์ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋์ด์ผ ํจ์ ์๋ฏธํ๋ฉฐ, ์์๋ ์๊ฒฉ ์๋ฒ๊ฐ ์ด๋ฏธ ์ค์น๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋กญ๊ณ ์ ์์ ์ธ ์ฝ๋๋ฅผ ์ฃผ์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ๊ณต๊ธ๋ง ๊ณต๊ฒฉ์ ํ๋ฉด์ ํฌ๊ฒ ์ค์ ๋๋ค.
ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์์ ์งํ: ๋งค๋ํ์คํธ V2์์ V3๋ก
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์์ ํ๊ฒฝ์ ์ ์ ์ด์ง ์์ต๋๋ค. ์๋ก์ด ์ํ๊ณผ ๋ ์์ ํ๊ณ ์ฑ๋ฅ ์ข์ ์น์ ๋ํ ํ์์ ๋์ํ์ฌ ์ง์์ ์ผ๋ก ์งํํฉ๋๋ค. ์ฃผ๋ก ๊ตฌ๊ธ ํฌ๋กฌ์ด ์ฃผ๋ํ๊ณ ๋ค๋ฅธ ํฌ๋ก๋ฏธ์ ๊ธฐ๋ฐ ๋ธ๋ผ์ฐ์ ๋ค์ด ์ฑํํ ๋งค๋ํ์คํธ V2์์ V3๋ก์ ์ ํ์ ๋ณด์๊ณผ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ์ ์ค์ ์ ๋ ์ด ์งํ์์ ์ค์ํ ๋์ฝ์ ์๋ฏธํฉ๋๋ค.
๋งค๋ํ์คํธ V3์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ
๋งค๋ํ์คํธ V3๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๊ตฌ์ถ๋๋ ๋ฐฉ์๊ณผ ๋ธ๋ผ์ฐ์ ๋ฐ ์นํ์ด์ง์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ ๊ทผ๋ณธ์ ์ธ ์ํคํ ์ฒ ๋ณ๊ฒฝ์ ๋์ ํฉ๋๋ค. ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์ํด ๋ณด์, ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ์ฑ๋ฅ์ ํฅ์์ํค๋๋ก ์ค๊ณ๋์์ต๋๋ค.
- ๋ฐฑ๊ทธ๋ผ์ด๋ ํ์ด์ง๋ฅผ ๋์ฒดํ๋ ์๋น์ค ์์ปค:
- ๋งค๋ํ์คํธ V2: ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ง์์ ์ธ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ์ด์ง(์๋ฒ ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์๋ HTML ํ์ด์ง)๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ, ์ด๋ ์ ๊ทน์ ์ผ๋ก ํ์ํ์ง ์์ ๋๋ ์ง์์ ์ผ๋ก ์คํ๋์ด ๋ฆฌ์์ค๋ฅผ ์๋นํ์ต๋๋ค.
- ๋งค๋ํ์คํธ V3: ๋ฐฑ๊ทธ๋ผ์ด๋ ํ์ด์ง๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์๋น์ค ์์ปค๋ก ๋์ฒด๋ฉ๋๋ค. ์ด ์์ปค๋ ๋น์ง์์ ์ด๋ฏ๋ก ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋(์: ์ฌ์ฉ์๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ ์์ด์ฝ์ ํด๋ฆญํ๊ฑฐ๋, ๋ฉ์์ง๋ฅผ ๋ฐ๊ฑฐ๋, ๋คํธ์ํฌ ์์ฒญ์ด ๊ฐ๋ก์ฑ์ง ๋) ์์๋๊ณ ๋ ์ด์ ํ์ํ์ง ์์ ๋ ์ข ๋ฃ๋ฉ๋๋ค.
- ๋ณด์์์ ์ด์ : ์ด "์ด๋ฒคํธ ๊ธฐ๋ฐ" ๋ชจ๋ธ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฐ์ฅ ๊ถํ ์๋ ๊ตฌ์ฑ ์์๊ฐ ํ์ฑ ์ํ์ธ ์๊ฐ์ ์ต์ํํ์ฌ ๊ณต๊ฒฉ ํ๋ฉด์ ์ค์ ๋๋ค. ๋ํ ์ต์ ์น ํ์ค๊ณผ ์ผ์นํ๋ฉฐ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ๊ฐ์ ํฉ๋๋ค.
- WebRequest API๋ฅผ ๋์ฒดํ๋ Declarative Net Request API (์ฐจ๋จ์ฉ):
- ๋งค๋ํ์คํธ V2: ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ ฅํ
webRequestAPI๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐํ์์ ๋คํธ์ํฌ ์์ฒญ์ ๊ฐ๋ก์ฑ๊ฑฐ๋, ์ฐจ๋จํ๊ฑฐ๋, ์์ ํ ์ ์์์ต๋๋ค. ๋ค์ฌ๋ค๋ฅํ์ง๋ง, ์ด API๋ ๋ํ ์๋นํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ๋ณด์ ์ํ์ ์ด๋ํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์์ฒญ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ฑฐ๋ ์ ์ฑ ์ฝํ ์ธ ๋ฅผ ์ฃผ์ ํ๊ธฐ ์ํด ์์ ํ ์ ์๊ฒ ํ์ต๋๋ค. - ๋งค๋ํ์คํธ V3: ๋คํธ์ํฌ ์์ฒญ์ ์ฐจ๋จํ๊ณ ์์ ํ๊ธฐ ์ํด, ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ด์ ์ฃผ๋ก Declarative Net Request API๋ก ์ ํ๋ฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์์ฒญ์ ๊ฐ๋ก์ฑ๋ ๋์ , ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ JSON ํ์ผ์ ๊ท์น(์: "example.com/ads๋ก์ ๋ชจ๋ ์์ฒญ ์ฐจ๋จ")์ ์ ์ธํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ธ๋ผ์ฐ์ ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์์ฒญ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ ธ์ถํ์ง ์๊ณ ์ง์ ์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ์ด๋ฌํ ๊ท์น์ ์ ์ฉํฉ๋๋ค.
- ๋ณด์์์ ์ด์ : ์ด ๋ณ๊ฒฝ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋คํธ์ํฌ ์์ฒญ ๋ฐ ์๋ต์ ๋ด์ฉ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ฝ๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ํฌ๊ฒ ํฅ์์ํต๋๋ค. ๋ํ ํ์ฅ ํ๋ก๊ทธ๋จ ์ฝ๋๋ก ๋คํธ์ํฌ ํธ๋ํฝ์ ๋์ ์ผ๋ก ์กฐ์ํ๋ ๊ฒ์ ์ ํํ์ฌ ๊ณต๊ฒฉ ํ๋ฉด์ ์ค์ ๋๋ค.
- ๋งค๋ํ์คํธ V2: ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ ฅํ
- ๊ฐํ๋ ์ฝํ
์ธ ๋ณด์ ์ ์ฑ
(CSP):
- ๋งค๋ํ์คํธ V3๋ ๋ ์๊ฒฉํ ๊ธฐ๋ณธ CSP๋ฅผ ์ ์ฉํ์ฌ ์๊ฒฉ ์ฝ๋ ์คํ์ ๊ฒฐ์ ์ ์ผ๋ก ํ์ฉํ์ง ์์ต๋๋ค. ์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ ์ด์ ์ธ๋ถ URL(์:
script-src 'self' https://trusted-cdn.com/)์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ก๋ํ๊ณ ์คํํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ ํ์ฅ ํ๋ก๊ทธ๋จ ํจํค์ง ๋ด์ ๋ฒ๋ค๋ก ํฌํจ๋์ด์ผ ํฉ๋๋ค. - ๋ณด์์์ ์ด์ : ์ด๋ ๊ณต๊ธ๋ง ๊ณต๊ฒฉ์ ์ฃผ์ ๋ฒกํฐ๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ์๊ฒฉ ์๋ฒ๊ฐ ์์๋๋๋ผ๋ ๋ธ๋ผ์ฐ์ ๋ ํ์ฅ ํ๋ก๊ทธ๋จ ํจํค์ง ์์ฒด์์ ์ ๋ํ์ง ์์ ์คํฌ๋ฆฝํธ ์คํ์ ๊ฑฐ๋ถํ๋ฏ๋ก, ์ด๋ฏธ ์ค์น๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋กญ๊ณ ์ ์์ ์ธ ์ฝ๋๋ฅผ ์ฃผ์ ํ ์ ์์ต๋๋ค. ์ด๋ ์ฌ์ฉ์์ ์์น๋ ์ด๋ค ์๋ฒ๊ฐ ์์๋์๋์ง์ ๊ด๊ณ์์ด ์ ์ธ๊ณ์ ์ผ๋ก ์ฌ์ฉ์๋ฅผ ๋ณดํธํฉ๋๋ค.
- ๋งค๋ํ์คํธ V3๋ ๋ ์๊ฒฉํ ๊ธฐ๋ณธ CSP๋ฅผ ์ ์ฉํ์ฌ ์๊ฒฉ ์ฝ๋ ์คํ์ ๊ฒฐ์ ์ ์ผ๋ก ํ์ฉํ์ง ์์ต๋๋ค. ์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ ์ด์ ์ธ๋ถ URL(์:
- ์๊ฒฉ ์ฝ๋ ์คํ ์ ๊ฑฐ: ์ด๋ ์๋ง๋ ๊ฐ์ฅ ์ํฅ๋ ฅ ์๋ ๋ณด์ ๋ณ๊ฒฝ ์ค ํ๋์ผ ๊ฒ์
๋๋ค. ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์๊ฒฉ ์๋ฒ์์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ์คํํ๋ ๋ฅ๋ ฅ(์: ์๊ฒฉ์ผ๋ก ๊ฐ์ ธ์จ ๋ฌธ์์ด์
eval()์ ์ฌ์ฉํ๊ฑฐ๋ ์ธ๋ถ ์คํฌ๋ฆฝํธ๋ฅผ ๋์ ์ผ๋ก ๋ก๋ํ๋ ๊ฒ)์ด ๊ฑฐ์ ์ ๊ฑฐ๋์์ต๋๋ค. ์ด๋ ๋ ์๊ฒฉํ CSP ๊ท์น๊ณผ ์ง์ ์ ์ผ๋ก ๊ด๋ จ์ด ์์ต๋๋ค. - ๋ ์ธ๋ถํ๋๊ณ ๋ช ์์ ์ธ ๊ถํ: ์์ ํ ๊ฐํธ์ ์๋์ง๋ง, MV3๋ ๋ ์ธ๋ถํ๋๊ณ ์ฌ์ฉ์์๊ฒ ํฌ๋ช ํ ๊ถํ ์์ฒญ์ ์งํฅํ๋ ์ถ์ธ๋ฅผ ์ด์ด๊ฐ๋ฉฐ, ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ํ์ ๊ถํ์ ์ฅ๋ คํฉ๋๋ค.
MV3์ ๋ณด์์ ์ด์
๋งค๋ํ์คํธ V3์์ ๋์ ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฌ์ฉ์์ ์ ์ฒด ๋ธ๋ผ์ฐ์ ์ํ๊ณ์ ์ฌ๋ฌ ๊ฐ์ง ์ค์ง์ ์ธ ๋ณด์ ๊ฐ์ ์ ์ ๊ณตํฉ๋๋ค:
- ๊ณต๊ฒฉ ํ๋ฉด ๊ฐ์: ์ด๋ฒคํธ ๊ธฐ๋ฐ ์๋น์ค ์์ปค๋ก ์ ํํ๊ณ ๋์ ๋คํธ์ํฌ ์กฐ์์ ์ ํํจ์ผ๋ก์จ ๊ธฐํ์ ์ฐฝ์ด ์ค์ด๋ค๊ณ ํ์ฅ ํ๋ก๊ทธ๋จ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ง์ ๋ ธ์ถ๋๋ ๊ฐ๋ ฅํ API๊ฐ ์ค์ด๋ญ๋๋ค.
- ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ฐ์ : Declarative Net Request API๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋คํธ์ํฌ ์์ฒญ์ ์ ์ฒด ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ๋ฏผ๊ฐํ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํฉ๋๋ค.
- ๊ณต๊ธ๋ง ๊ณต๊ฒฉ ์ํ: ์๊ฒฉ ์ฝ๋ ์คํ ๊ธ์ง๋ ๊ณต๊ฒฉ์๊ฐ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ํตํ๊ฑฐ๋ ๊ฐ๋ฐ์์ ์๊ฒฉ ์๋ฒ๋ฅผ ํ์ด์ฌํนํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์์์ํค๋ ๊ฒ์ ํจ์ฌ ๋ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค. ๋ชจ๋ ์ ์ฑ ์ฝ๋๋ ์ด๊ธฐ ํ์ฅ ํ๋ก๊ทธ๋จ ํจํค์ง์ ์ผ๋ถ์ฌ์ผ ํ๋ฏ๋ก ๊ฒํ ์ค์ ๋ฐ๊ฒฌํ๊ธฐ๊ฐ ๋ ์ฌ์์ง๋๋ค.
- ๋ ๋์ ์ฑ๋ฅ ๋ฐ ๋ฆฌ์์ค ๊ด๋ฆฌ: ์ง์ ์ ์ธ ๋ณด์ ์ด์ ์ ์๋์ง๋ง, ํจ์จ์ ์ธ ๋ฆฌ์์ค ์ฌ์ฉ์ ๊ฐ์ ์ ์ผ๋ก ๋ ์์ ์ ์ด๊ณ ๋ ์ทจ์ฝํ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ๊ธฐ์ฌํฉ๋๋ค.
๊ณผ์ ์ ๊ฐ๋ฐ์์ ์ ์
MV3๋ ์๋นํ ๋ณด์ ์ด์ ์ ๊ฐ์ ธ์์ง๋ง, ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๋ค์๊ฒ๋ ๊ณผ์ ๋ฅผ ์ ์ํ๊ธฐ๋ ํ์ต๋๋ค. ๊ธฐ์กด ํ์ฅ ํ๋ก๊ทธ๋จ(ํนํ webRequest API์ ํฌ๊ฒ ์์กดํ๋ ๊ด๊ณ ์ฐจ๋จ๊ธฐ๋ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋๊ตฌ์ ๊ฐ์ ๋ณต์กํ ํ๋ก๊ทธ๋จ)์ ์ ์์ํค๋ ๊ฒ์ ์๋นํ ๋ฆฌํฉํ ๋ง๊ณผ ์ํคํ
์ฒ ์ฌ๊ณ ๋ฅผ ํ์๋ก ํฉ๋๋ค. ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ ์๋ก์ด API ํจ๋ฌ๋ค์์ ์ดํดํ๊ณ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๊ธฐ๋ฅ์ ์ด๊ณ ๊ท์ ์ ์ค์ํ๋๋ก ๋ณด์ฅํ๊ธฐ ์ํด ์๊ฐ๊ณผ ์์์ ํฌ์ํด์ผ ํ์ต๋๋ค. ์ด ์ ํ ๊ธฐ๊ฐ์ ๋ณด์ ๊ฐํ์ ๊ฐ๋ฐ์ ๊ฒฝํ ์ฌ์ด์ ์ง์์ ์ธ ๊ท ํ์ ๊ฐ์กฐํฉ๋๋ค.
์ฝ๋ ๊ฒํ ๋ฐ ๊ฒ์ ํ๋ซํผ์ ์ญํ
๋ธ๋ผ์ฐ์ ๋ด์ ๊ธฐ์ ์ ์ธ ๋ณด์ ๋ชจ๋ธ ์ธ์๋, ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๊ฒ์๋๋ ํ๋ซํผ์ ๋ณด์ ํ์ค์ ์ ์งํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๋ ๊ณต์ ์คํ ์ด(์: ํฌ๋กฌ ์น ์คํ ์ด, ๋ชจ์ง๋ผ ์ ๋์จ, ๋ง์ดํฌ๋ก์ํํธ ์ฃ์ง ์ ๋์จ, ์ ํ ์ฌํ๋ฆฌ ์ต์คํ ์ )์ ์ ์ถ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ํด ๊ด๋ฒ์ํ ๊ฒํ ํ๋ก์ธ์ค๋ฅผ ์ด์ํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฒํ ๋ฐฉ์
- ์๋ํ๋ ์ค์บ: ์ ์ถ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ผ๋ฐ์ ์ธ ๋ณด์ ์ทจ์ฝ์ , ๋งค๋ํ์คํธ ์ ์ฑ ์ค์, ๊ธ์ง๋ API ์ฌ์ฉ ๋ฐ ์๋ ค์ง ์ ์ฑ ์ฝ๋ ํจํด์ ๊ฐ์งํ๊ธฐ ์ํด ์๋ ๋ถ์์ ๊ฑฐ์นฉ๋๋ค. ์ด ์ด๊ธฐ ์ค์บ์ ๋ช ๋ฐฑํ ์ํ์ ํจ์จ์ ์ผ๋ก ๊ฑธ๋ฌ๋ด๋ ๋ฐ ์ค์ํฉ๋๋ค.
- ์๋ ๊ฒํ : ๋ฏผ๊ฐํ ๊ถํ์ ์์ฒญํ๊ฑฐ๋ ๋ณต์กํ ๋์์ ๋ณด์ด๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ, ์ข ์ข ์ฌ๋์ด ๋ ์ฌ์ธต์ ์ธ ์ฝ๋ ๊ฐ์ฌ๋ฅผ ์ํํฉ๋๋ค. ๊ทธ๋ค์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฝ๋, ๋งค๋ํ์คํธ ๋ฐ ์์ฒญ๋ ๊ถํ์ ๋ช ์๋ ๊ธฐ๋ฅ๊ณผ ๋น๊ตํ์ฌ ์จ๊ฒจ์ง๊ฑฐ๋ ์ ์ธ๋์ง ์์ ๊ธฐ๋ฅ์ด ์๋์ง ๋ฉด๋ฐํ ์กฐ์ฌํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋๋ ํ๋ ์ฝ๋, ๋ณด์ ์ ์ฑ ์ฐํ ์๋ ๋๋ ๋ฐ์ดํฐ ์ ์ถ ํ์ธ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
- ์ ์ฑ ์งํ: ๊ฒํ ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ํ๋ซํผ์ ๊ฐ๋ฐ์ ์ ์ฑ ์ ์ค์ํ๋์ง ํ์ธํ๋ฉฐ, ์ด๋ ์ข ์ข ๋ฐ์ดํฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ, ํ์ฉ ๊ฐ๋ฅํ ์ฌ์ฉ ๋ฐ ํฌ๋ช ์ฑ์ ๋ํ ์๊ฒฉํ ์ง์นจ์ ํฌํจํฉ๋๋ค.
- ๊ฒ์ ํ ๋ชจ๋ํฐ๋ง: ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๊ฒ์๋ ํ์๋ ๊ณต๊ธ์ ์ฒด๋ ์์ฌ์ค๋ฌ์ด ํ๋, ๋น์ ์์ ์ธ ๋คํธ์ํฌ ์์ฒญ ๋๋ ์์์ด๋ ์ ์ฑ ์ ๋ฐ์ดํธ๋ฅผ ๋ํ๋ผ ์ ์๋ ๊ฐ์์ค๋ฌ์ด ํ๋ ๋ณํ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด ๋ชจ๋ํฐ๋ง ์์คํ ์ ์ฌ์ฉํฉ๋๋ค. ์ฌ์ฉ์๋ค๋ ์์ฌ์ค๋ฌ์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ๊ณ ํ๋๋ก ๊ถ์ฅ๋ฉ๋๋ค.
์ ๋ขฐํ ์ ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ ์ถ์ฒ์ ์ค์์ฑ
์ ์ธ๊ณ ์ด๋์ ์๋ ์ฌ์ฉ์๋ ๊ณต์์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ๋ธ๋ผ์ฐ์ ์คํ ์ด์์๋ง ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ๋น๊ณต์์ ์ธ ์ถ์ฒ(์: ์ ๋ขฐํ ์ ์๋ ์น์ฌ์ดํธ์์ ์ง์ ๋ค์ด๋ก๋)์์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ฉด ์ด๋ฌํ ์ค์ํ ๊ฒํ ํ๋ก์ธ์ค๋ฅผ ์์ ํ ์ฐํํ๊ฒ ๋์ด, ๊ฒ์ฆ๋์ง ์์๊ฑฐ๋ ๋ช ๋ฐฑํ ์ ์์ ์ธ ์ํํธ์จ์ด์ ์ฌ์ฉ์๋ฅผ ๋ ธ์ถ์ํต๋๋ค. ๊ณต์ ์คํ ์ด๋ ๋๋ถ๋ถ์ ์ํ์ด ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์ ๋๋ฌํ๊ธฐ ์ ์ ๊ฑธ๋ฌ๋ด๋ ์ค์ํ ๊ฒ์ดํธํคํผ ์ญํ ์ ํ๋ฉฐ, ๊ธ๋ก๋ฒ ๋์งํธ ์ํ๊ณ์์ ์ ๋ขฐ์ ๊ธฐ์ค์ ์ ์ ๊ณตํฉ๋๋ค.
๊ฐ๋ฐ์๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก: ์์ ํ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ตฌ์ถํ๊ธฐ
๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๊ฐ ๋ณด์ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ์ง๋ง, ์์ ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ถ๊ทน์ ์ธ ์ฑ ์์ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์์๊ฒ ์์ต๋๋ค. ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ๋ ๊ฒ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ณ ๊ตญ์ ์ ์ธ ์ฌ์ฉ์ ๊ธฐ๋ฐ ์ ๋ฐ์ ๊ฑธ์ณ ์ ๋ขฐ๋ฅผ ์ ์งํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๋ฐ ํ์์ ์ ๋๋ค.
๊ถํ ์ต์ํ: ํ์ํ ๊ฒ๋ง ์์ฒญํ๊ธฐ
์ต์ ๊ถํ ์์น์ ๋ฐ๋ฅด์ญ์์ค. ๊ณผ๋ํ ๊ถํ(์: "*://*.mywebsite.com/*"๋ง ํ์ํ๋ฐ "๋ฅผ ์์ฒญํ๋ ๊ฒฝ์ฐ)์ ์์ฒญํ๋ ๊ฒ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์์๋ ๊ฒฝ์ฐ ๊ณต๊ฒฉ ํ๋ฉด์ ์ฆ๊ฐ์ํฌ ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์ ์์ฌ์ ๋ถ๋ฌ์ผ์ผํค๊ณ ์ฑํ๋ฅ ์ ๋ฎ์ถ ์ ์์ต๋๋ค. ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ ์ ์คํ๊ฒ ๊ฐ์ฌํ๊ณ manifest.json์์ ๋ถํ์ํ ๊ถํ์ ์ ๊ฑฐํ์ญ์์ค.
๋ชจ๋ ์ ๋ ฅ ์ ํ: XSS ๋ฐ ์ธ์ ์ ๋ฐฉ์ง
์ธ๋ถ ์์ค(์น ํ์ด์ง, API, ์ฌ์ฉ์ ์ ๋ ฅ)์์ ๋ฐ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ ๋ขฐํ ์ ์๋ ๊ฒ์ผ๋ก ์ทจ๊ธํด์ผ ํฉ๋๋ค. ์ด ๋ฐ์ดํฐ๋ฅผ DOM์ ์ฃผ์ ํ๊ฑฐ๋ ๊ถํ ์๋ ์ปจํ ์คํธ์์ ์ฌ์ฉํ๊ธฐ ์ ์, ๊ต์ฐจ ์ฌ์ดํธ ์คํฌ๋ฆฝํ (XSS)์ด๋ ๋ค๋ฅธ ์ธ์ ์ ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฒ ์ ํ ์ ํํ๊ณ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌํ์ญ์์ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ์ ํ ์ฒ๋ฆฌ API๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ๊ฒฌ๊ณ ํ๊ณ ์ ํ ์คํธ๋ ์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
์์ ํ ํต์ ์ฌ์ฉ: ์ง์ ์ ์ธ DOM ์กฐ์ ๋์ ๋ฉ์์ง ์ฌ์ฉ
์ฝํ
์ธ ์คํฌ๋ฆฝํธ, ์๋น์ค ์์ปค ๋ฐ ํ์ฅ ํ๋ก๊ทธ๋จ UI ๊ตฌ์ฑ ์์ ๊ฐ์ ํต์ ์ ์ํด ๋ธ๋ผ์ฐ์ ์ ๋ฉ์์ง API(์: chrome.runtime.sendMessage, postMessage)๋ฅผ ํ์ฉํ์ญ์์ค. ์นํ์ด์ง์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๊ฒฝ์ ์ง์ ์กฐ์ํ๊ฑฐ๋ ๊ฒฉ๋ฆฌ๋ ์ธ๊ณ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํด ์์ ํ์ง ์์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ ํผํ์ญ์์ค. ์ฝํ
์ธ ์คํฌ๋ฆฝํธ๋ ์ ์ฌ์ ์ผ๋ก ์
์์ ์ธ ์น ํ์ด์ง์ ์ํธ ์์ฉํ๊ธฐ ๋๋ฌธ์ ๋ณธ์ง์ ์ผ๋ก ์ ๋ขฐ๋๊ฐ ๋ฎ์ผ๋ฏ๋ก, ์๋น์ค ์์ปค์์ ์ฝํ
์ธ ์คํฌ๋ฆฝํธ๋ก๋ถํฐ ๋ฐ์ ๋ฉ์์ง๋ฅผ ํญ์ ๊ฒ์ฆํ๊ณ ์ ํํ์ญ์์ค.
๊ฒฌ๊ณ ํ CSP ๊ตฌํ: ์๊ฒฉํ ์ ์ฑ ์ด ํต์ฌ
manifest.json์ ์๊ฒฉํ ์ฝํ
์ธ ๋ณด์ ์ ์ฑ
(CSP)์ ์ ์ํ์ญ์์ค. ๊ฐ๋ฅํ ๊ฐ์ฅ ์ ํ์ ์ธ ์ ์ฑ
์ ๋ชฉํ๋ก ํ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก script-src 'self'; object-src 'self'๋ฅผ ์ฌ์ฉํ์ญ์์ค. unsafe-inline๊ณผ unsafe-eval์ ๊ฐ๋ฅํ ํ ํผํ์ญ์์ค. ๋งค๋ํ์คํธ V3์์๋ ์๊ฒฉ ์คํฌ๋ฆฝํธ ๋ก๋ฉ์ด ๊ฑฐ์ ํ์ฉ๋์ง ์์ผ๋ฏ๋ก, ์์ฑ์ด๋ ์
์ฑ์ด๋ ์ธ๋ถ ์ข
์์ฑ์ ๋ํ ์ ์ฐ์ฑ์ ์ค์์ผ๋ก์จ CSP๋ฅผ ๋ณธ์ง์ ์ผ๋ก ๊ฐํํฉ๋๋ค.
์๊ฒฉ ์ฝ๋ ํํผ: ๋ชจ๋ ๊ฒ์ ๋ก์ปฌ์ ๋ฒ๋ค๋งํ๊ธฐ
๋งค๋ํ์คํธ V3์์๋ ์ด๊ฒ์ด ๊ฑฐ์ ๊ฐ์ ๋์ง๋ง, ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ค์ํ ๋ชจ๋ฒ ์ฌ๋ก์ ๋๋ค. ์๊ฒฉ ์๋ฒ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ์คํํ์ง ๋ง์ญ์์ค. ๋ชจ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ก์ง์ ํ์ฅ ํ๋ก๊ทธ๋จ ํจํค์ง ์์ฒด ๋ด์ ๋ฒ๋ค๋ก ํฌํจ๋์ด์ผ ํฉ๋๋ค. ์ด๋ ๊ณต๊ฒฉ์๊ฐ ์ธ๋ถ ์๋ฒ๋ CDN์ ์์์์ผ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ฑ ์ฝ๋๋ฅผ ์ฃผ์ ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ข ์์ฑ ์ ๊ธฐ์ ์ ๋ฐ์ดํธ: ์๋ ค์ง ์ทจ์ฝ์ ํจ์น
ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ข ์ข ์ 3์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํฉ๋๋ค. ๋ณด์ ํจ์น์ ๋ฒ๊ทธ ์์ ์ ๋ฐ์ผ๋ ค๋ฉด ์ด๋ฌํ ์ข ์์ฑ์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ์งํ์ญ์์ค. Snyk๋ OWASP Dependency-Check์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ข ์์ฑ์์ ์๋ ค์ง ์ทจ์ฝ์ ์ ์ ๊ธฐ์ ์ผ๋ก ๊ฐ์ฌํ์ญ์์ค. ํฌํจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ทจ์ฝ์ ์ ์ ์ฒด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์์์ํฌ ์ ์์ต๋๋ค.
๋ณด์ ๊ฐ์ฌ ๋ฐ ํ ์คํธ: ์ ์ ์ ๋ฐฉ์ด
๊ฐ๋ฐ ์ธ์๋, ๋ณด์ ์ทจ์ฝ์ ์ ๋ํด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ ์ ์ผ๋ก ํ ์คํธํ์ญ์์ค. ์ ๊ธฐ์ ์ธ ๋ณด์ ๊ฐ์ฌ๋ฅผ ์ค์ํ๊ณ , ์นจํฌ ํ ์คํธ๋ฅผ ์ํํ๋ฉฐ, ์๋ํ๋ ์ ์ ๋ฐ ๋์ ๋ถ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค. ๊ฐ๋ฅํ๋ค๋ฉด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์คํ ์์ค๋ก ๊ณต๊ฐํ์ฌ ์ปค๋ฎค๋ํฐ ๊ฒํ ์ ์ด์ ์ ์ป๋, ์ ์ฌ์ ์ธ ์ง์ ์ฌ์ฐ๊ถ ๋ฌธ์ ๋ฅผ ์ผ๋์ ๋์ญ์์ค. ๋๊ท๋ชจ ๋๋ ์ค์ํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ, ์ ๋ฌธ ๋ณด์ ๊ฐ์ฌ์๋ฅผ ๊ณ ์ฉํ๋ฉด ๊ธ๋ก๋ฒ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ๋ํ ๊ท์คํ ๋ณด์ฆ ๊ณ์ธต์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ฌ์ฉ์๋ฅผ ์ํ ์กฐ์ธ: ์ค์ค๋ก๋ฅผ ๋ณดํธํ๋ ๋ฐฉ๋ฒ
๊ฐ๋ฐ์์ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๊ฐ ์์ ํ ํ์ฅ ํ๋ก๊ทธ๋จ ์ํ๊ณ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์งํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ ๋์, ์ฌ์ฉ์ ๋ํ ๋ธ๋ผ์ฐ์ง ๊ฒฝํ์ ๋ณดํธํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ ๋ณด๋ฅผ ์ป๊ณ ์ ์ ์ ์ผ๋ก ํ๋ํ๋ฉด ์ธํฐ๋ท์ ์ ์ํ๋ ์ฅ์์ ๊ด๊ณ์์ด ์ํ์ ๋ํ ๋ ธ์ถ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
์ ๋ขฐํ ์ ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ๋ง ์ค์น: ๊ณต์ ์คํ ์ด์์
ํญ์ ๊ณต์ ๋ธ๋ผ์ฐ์ ์น ์คํ ์ด(ํฌ๋กฌ ์น ์คํ ์ด, ๋ชจ์ง๋ผ ์ ๋์จ, ๋ง์ดํฌ๋ก์ํํธ ์ฃ์ง ์ ๋์จ, ์ ํ ์ฌํ๋ฆฌ ์ต์คํ ์ )์์๋ง ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ค์ด๋ก๋ํ์ญ์์ค. ์ด๋ฌํ ํ๋ซํผ์๋ ๊ฒํ ํ๋ก์ธ์ค๊ฐ ๋ง๋ จ๋์ด ์์ต๋๋ค. ๋น๊ณต์์ ์ธ ์ถ์ฒ๋ ์ด๋ฌํ ์ค์ํ ๋ณด์ ๊ฒ์ฌ๋ฅผ ์ฐํํ๊ณ ์ฝ๊ฒ ์ ์ฑ ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ ์ ์์ผ๋ฏ๋ก ํผํ์ญ์์ค.
๊ถํ ์ ์คํ๊ฒ ๊ฒํ : ์ด๋ค ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋์ง ์ดํดํ๊ธฐ
ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ๊ธฐ ์ ์ ์์ฒญํ๋ ๊ถํ ๋ชฉ๋ก์ ๊ผผ๊ผผํ๊ฒ ๊ฒํ ํ์ญ์์ค. ์ค์ค๋ก์๊ฒ ๋ฌผ์ด๋ณด์ญ์์ค: "์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ช ์๋ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ ๋ง ์ด ์์ค์ ์ ๊ทผ์ด ํ์ํ๊ฐ?" ์๋ฅผ ๋ค์ด, ๊ฐ๋จํ ๊ณ์ฐ๊ธฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ "๋ชจ๋ ์น์ฌ์ดํธ์ ๋ฐ์ดํฐ"์ ์ ๊ทผํ ํ์๊ฐ ์์ต๋๋ค. ์์ฒญ๋ ๊ถํ์ด ๊ณผ๋ํ๊ฑฐ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ชฉ์ ๊ณผ ๊ด๋ จ์ด ์์ด ๋ณด์ด๋ฉด ์ค์นํ์ง ๋ง์ญ์์ค.
- ๊ณ ์ํ ๊ถํ:
"," tabs,history,cookies๋๋ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ์ ์ ๊ทผ์ ํ์ฉํ๋ ๋ชจ๋ ๊ถํ์ ํนํ ์ฃผ์ํ์ญ์์ค. ์ด๋ฌํ ๊ถํ์ ๋งค์ฐ ์ ๋ขฐํ๋ ๊ฐ๋ฐ์์ ํ์ฅ ํ๋ก๊ทธ๋จ์๋ง ๋ถ์ฌํ๊ณ , ๊ทธ ๊ธฐ๋ฅ์ด ๋ช ์์ ์ผ๋ก ๊ทธ๋ฌํ ์ ๊ทผ์ ์๊ตฌํ๋ ๊ฒฝ์ฐ(์: ๊ด๊ณ ์ฐจ๋จ๊ธฐ๋ ๋ชจ๋ URL์์ ์๋ํด์ผ ํจ)์๋ง ํ์ฉํ์ญ์์ค. - ์ ํ์ ๊ถํ: ํ์ฅ ํ๋ก๊ทธ๋จ์ด "์ ํ์ ๊ถํ"์ ์์ฒญํ๋์ง ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ญ์์ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ๋ ๋ง์ ์ ์ด๊ถ์ ๋ถ์ฌํ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ํน์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๊ณ ํ ๋ ๋ฐํ์์ ํน์ ๊ถํ์ ์์ฒญํ๋ค๋ ์๋ฏธ์ ๋๋ค.
ํ์ฅ ํ๋ก๊ทธ๋จ ์ต์ ์ํ ์ ์ง: ๋ณด์ ํจ์น๋ฅผ ์ํด
์ด์ ์ฒด์ ๋ ๋ธ๋ผ์ฐ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ํ์ฅ ํ๋ก๊ทธ๋จ๋ ์๋ก ๋ฐ๊ฒฌ๋ ์ทจ์ฝ์ ์ ๋ํ ๋ณด์ ํจ์น๋ฅผ ํฌํจํ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ์ ๋ฐ์ดํธํ๋๋ก ์ค์ ํ๊ฑฐ๋, ์ ๊ธฐ์ ์ผ๋ก ์๋์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ํ์ธํ์ญ์์ค. ์ค๋๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ์๋ ค์ง ๊ณต๊ฒฉ์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค.
์ฌ์ฉํ์ง ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ ์ ๊ฑฐ: ๊ณต๊ฒฉ ํ๋ฉด ์ค์ด๊ธฐ
์ฃผ๊ธฐ์ ์ผ๋ก ์ค์น๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฒํ ํ๊ณ ๋ ์ด์ ์ฌ์ฉํ์ง ์๊ฑฐ๋ ํ์ํ์ง ์์ ๊ฒ์ ์ ๊ฑฐํ์ญ์์ค. ์ค์น๋ ๋ชจ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์์ฑ์ ์ธ ๊ฒ์ด๋ผ๋ ์ ์ฌ์ ์ธ ๊ณต๊ฒฉ ํ๋ฉด์ ๋ํ๋ ๋๋ค. ๋นํ์ฑ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ๊ฑฐํจ์ผ๋ก์จ ๊ณต๊ฒฉ์์ ์ ์ฌ์ ์ธ ์ง์ ์ ์๋ฅผ ์ค์ด๊ณ ๋ธ๋ผ์ฐ์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ปดํจํฐ์ ์ํํธ์จ์ด์ฒ๋ผ ์๊ฐํ์ญ์์ค. ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ ๊ฑฐํ์ญ์์ค.
์์ฌ์ค๋ฌ์ด ํ๋ ๊ฒฝ๊ณ: ์ง๊ฐ์ ๋ฏฟ์ผ์ธ์
๋ธ๋ผ์ฐ์ ์ ํ๋์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ญ์์ค. ์์์น ๋ชปํ ํ์ , ์ต์ํ์ง ์์ ์น์ฌ์ดํธ๋ก์ ๋ฆฌ๋๋ ์ , ๊ธฐ๋ณธ ๊ฒ์ ์์ง ๋ณ๊ฒฝ, ๋น์ ์์ ์ธ ๊ด๊ณ ๋๋ ๊ฐ์์ค๋ฌ์ด ๋ธ๋ผ์ฐ์ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์์๋์๊ฑฐ๋ ์ ์ฑ์ผ ์ ์์ต๋๋ค. ์ฆ์ ์ค์น๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ํ์ธํ๊ณ , ๊ถํ์ ๊ฒํ ํ๋ฉฐ, ์์ฌ์ค๋ฌ์ด ๊ฒ์ ์ ๊ฑฐํ๋ ๊ฒ์ ๊ณ ๋ คํ์ฌ ์กฐ์ฌํ์ญ์์ค. ์ง์ ์ผ๋ก ์ ์์ ์ธ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ์ ๊ณ ํ์ฌ ๋ ๋์ ๊ธ๋ก๋ฒ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ณดํธํ์ญ์์ค.
ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์์ ๊ณผ์ ์ ๋ฏธ๋
์๋ฒฝํ๊ฒ ์์ ํ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ์ํ๊ณ๋ฅผ ํฅํ ์ฌ์ ์ ๋ณด์ ์ ๋ฌธ๊ฐ์ ์ ์์ ์ธ ํ์์ ๊ฐ์ ์ง์์ ์ธ ๊ตฐ๋น ๊ฒฝ์๊ณผ ์ ์ฌํ ๊ณ์๋๋ ๋ ธ๋ ฅ์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ์งํํ๊ณ ์๋ก์ด ์น ๊ธฐ์ ์ด ๋ฑ์ฅํจ์ ๋ฐ๋ผ ์ ์ฌ์ ์ธ ๊ณต๊ฒฉ์ ์ ๊ตํจ๊ณผ ๋ฒกํฐ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐ์ ํฉ๋๋ค. ์ธํฐ๋ท์ ๊ธ๋ก๋ฒํ ํน์ฑ์ ๋ณด์ ๊ณผ์ ๊ฐ ๊ฒฐ์ฝ ๊ณ ๋ฆฝ๋์ง ์์ผ๋ฉฐ, ๋ค์ํ ์ง์ญ๊ณผ ๊ธฐ์ ํ๊ฒฝ์ ๊ฑธ์ณ ์ฌ์ฉ์์ ๊ฐ๋ฐ์์๊ฒ ์ํฅ์ ๋ฏธ์น๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๊ธฐ๋ฅ์ฑ๊ณผ ๋ณด์์ ๊ท ํ: ์์ํ ๋๋ ๋ง
์ง์์ ์ธ ๊ณผ์ ์ค ํ๋๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ฑ๊ณผ ์๊ฒฉํ ๋ณด์ ์ฌ์ด์ ์ ์ ํ ๊ท ํ์ ์ฐพ๋ ๊ฒ์ ๋๋ค. ๋งค์ฐ ์ ๋ฅํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ณธ์ง์ ์ผ๋ก ๋ ๋ง์ ์ ๊ทผ์ ํ์๋ก ํ๋ฉฐ, ์ด๋ ํ์ฐ์ ์ผ๋ก ์ ์ฌ์ ์ํ์ ์ฆ๊ฐ์ํต๋๋ค. ๊ฐ๋ฐ์๋ค์ ๋์์์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ด ํ ์ ์๋ ๊ฒ์ ๊ฒฝ๊ณ๋ฅผ ๋ํ๊ณ ์์ผ๋ฉฐ, ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๋ ์ฌ์ฉ์ ์์ ์ ํด์น์ง ์์ผ๋ฉด์ ์ด๋ฌํ ํ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ณด์ ๋ชจ๋ธ์ ํ์ ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ท ํ ์ก๊ธฐ๋ ์ง์์ ์ธ ํ์์ด๋ฉฐ, ์ข ์ข ๋ฐ๋ก ์ด ๊ธด์ฅ์ ํด๊ฒฐํ๊ธฐ ์ํ ๋งค๋ํ์คํธ V3์ ๊ฐ์ ์ํคํ ์ฒ ๋ณํ๋ก ์ด์ด์ง๋๋ค.
์๋ก์ด ์ํ: ์ ๊ตํจ๊ณผ ๊ท๋ชจ
๊ณต๊ฒฉ์๋ค์ ํญ์ ์ทจ์ฝ์ ์ ์ ์ฉํ ์๋ก์ด ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์์ต๋๋ค. ์๋ก์ด ์ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๊ณต๊ธ๋ง ๊ณต๊ฒฉ: ํฉ๋ฒ์ ์ธ ๊ฐ๋ฐ์์ ๊ณ์ ์ด๋ ๋น๋ ์ธํ๋ผ๋ฅผ ์์์์ผ ์ ๋ขฐํ ์ ์๋ ํ์ฅ ํ๋ก๊ทธ๋จ ์ ๋ฐ์ดํธ์ ์ ์ฑ ์ฝ๋๋ฅผ ์ฃผ์ ํ์ฌ ์๋ฐฑ๋ง ๋ช ์ ์ฌ์ฉ์์๊ฒ ์ ์ธ๊ณ์ ์ผ๋ก ์ ์ฑ ์ฝ๋๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
- ์ ๊ตํ ํผ์ฑ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ๋งค์ฐ ์ค๋๋ ฅ ์๋ ํผ์ฑ ์ค๋ฒ๋ ์ด๋ฅผ ๋ง๋ค๊ฑฐ๋ ํฉ๋ฒ์ ์ธ ์น์ฌ์ดํธ ์ฝํ ์ธ ๋ฅผ ์์ ํ์ฌ ์ฌ์ฉ์๋ฅผ ์์ฌ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๋ ธ์ถํ๋๋ก ์ ๋ํฉ๋๋ค.
- ์ ๋ก๋ฐ์ด ๊ณต๊ฒฉ: ํจ์น๊ฐ ์ ๊ณต๋๊ธฐ ์ ์ ๋ธ๋ผ์ฐ์ ๋ ํ์ฅ ํ๋ก๊ทธ๋จ API์ ์๋ ค์ง์ง ์์ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌํ๊ณ ์ ์ฉํฉ๋๋ค.
- WebAssembly (Wasm) ๊ณต๊ฒฉ: Wasm์ด ์ธ๊ธฐ๋ฅผ ์ป์ผ๋ฉด์, ๊ทธ ๊ตฌํ์ด๋ ๋ธ๋ผ์ฐ์ API์์ ์ํธ ์์ฉ์์์ ์ทจ์ฝ์ ์ ์ด ๊ธฐ์ ์ ํ์ฉํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋ก์ด ๊ณต๊ฒฉ ๋ฒกํฐ๊ฐ ๋ ์ ์์ต๋๋ค.
- AI ๊ธฐ๋ฐ ๊ณต๊ฒฉ: ์ธ๊ณต ์ง๋ฅ์ ๋ถ์์ ๋ ๋์ ์ด๊ณ , ์ ์์ ์ด๋ฉฐ, ๊ฐ์ธํ๋ ๊ณต๊ฒฉ์ ๊ฐ๋ฅํ๊ฒ ํ์ฌ ํ์ง๋ฅผ ๋ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
์ด๋ฌํ ์ํ์ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ์ ์ธ๊ณ ๋ณด์ ์ปค๋ฎค๋ํฐ์ ์ง์์ ์ธ ๊ฒฝ๊ณ์ ์ ์์ ์๊ตฌํฉ๋๋ค.
๋ณด์ ๋ชจ๋ธ์ ์ง์์ ์ธ ์งํ: ์๋ก์ด ์ํ์ ๋ํ ์ ์
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ณด์ ๋ชจ๋ธ์ ์ ์ ์ด์ง ์์ต๋๋ค. ์๋ก์ด ๊ณต๊ฒฉ ๋ฒกํฐ๋ฅผ ํด๊ฒฐํ๊ณ , ์๋ก์ด ์น ๊ธฐ์ ์ ์์ฉํ๋ฉฐ, ์ฌ์ฉ์ ๋ณดํธ๋ฅผ ๊ฐํํ๊ธฐ ์ํด ์ง์์ ์ผ๋ก ์งํํด์ผ ํฉ๋๋ค. ๋ฏธ๋์ ๋ฐ๋ณต์ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค:
- ๊ถํ ๋ชจ๋ธ์ ์ถ๊ฐ์ ์ธ ๊ฐ์ , ์ ์ฌ์ ์ผ๋ก ๋ ์ธ๋ถํ๋๊ณ ์ ์์ ์ธ ์ ๊ทผ ์ ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๊ณ ๊ธ ์๋๋ฐ์ฑ ๊ธฐ์ , ํน์ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ ์์์ ๋ํด ์ด์ ์ฒด์ ์์ค์ ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ๋ฅผ ๋ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค.
- ๋จธ์ ๋ฌ๋๊ณผ ํ๋ ๋ถ์์ ์ฌ์ฉํ์ฌ ๊ฒ์ ์ ๊ณผ ๋ฐํ์ ์ค ์ ์ฑ ํ๋์ ๋ํ ๊ฐ์ ๋ ํ์ง ๋ฉ์ปค๋์ฆ.
- ์ ์ธ๊ณ์ ์ผ๋ก ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ํด ๋ ์ผ๊ด๋๊ณ ๊ฒฌ๊ณ ํ ๋ณด์ ๊ธฐ์ค์ ์ ๋ณด์ฅํ๊ธฐ ์ํ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด ๊ฐ์ ํ์คํ ๋ ธ๋ ฅ.
๋ณด์์์์ AI ์ญํ : ํ์ง ๋ฐ ์๋ฐฉ
์ธ๊ณต ์ง๋ฅ๊ณผ ๋จธ์ ๋ฌ๋์ ์ ์ ๋ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์ ๋ ธ๋ ฅ์ ํตํฉ๋๊ณ ์์ต๋๋ค. AI๋ ๋ค์์ ์ํด ์ฌ์ฉ๋ ์ ์์ต๋๋ค:
- ์๋ํ๋ ์ ์ฑ ์ฝ๋ ํ์ง: ๋๊ท๋ชจ๋ก ํ์ฅ ํ๋ก๊ทธ๋จ ์ฝ๋์์ ์ ์ฑ ํจํด์ ๋ถ์ํ๊ณ , ๋๋ ํ ๊ธฐ์ ์ ์๋ณํ๋ฉฐ, ๊ฒํ ๊ณผ์ ์์ ์์ฌ์ค๋ฌ์ด ํ๋์ ํ๋๊ทธ ์ง์ ํฉ๋๋ค.
- ํ๋ ๋ถ์: ์ค์น๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋น์ ์์ ์ธ ๋ฐํ์ ํ๋(์: ๊ฐ์์ค๋ฌ์ด ๋คํธ์ํฌ ์์ฒญ ์ฆ๊ฐ, ๋น์ ์์ ์ธ API ์ ๊ทผ)์ ๋ชจ๋ํฐ๋งํ์ฌ ์์์ ๋ํ๋ผ ์ ์๋ ์งํ๋ฅผ ์ฐพ์ต๋๋ค.
- ์ํ ์์ธก: ๊ธ๋ก๋ฒ ์ํ ์ ๋ณด๋ฅผ ๋ถ์ํ์ฌ ์๋ก์ด ๊ณต๊ฒฉ ๋ฒกํฐ๋ฅผ ์์ธกํ๊ณ ์ ์ ์ ์ผ๋ก ๋ณด์ ์ ์ฑ ์ ์กฐ์ ํฉ๋๋ค.
๊ทธ๋ฌ๋ AI๋ ๊ณต๊ฒฉ์๋ค์๊ฒ๋ ๋๊ตฌ์ด๋ฏ๋ก, ์ฌ์ด๋ฒ ๋ณด์ ์์ญ์์ ์ง์์ ์ธ ๊ธฐ์ ๊ตฐ๋น ๊ฒฝ์์ผ๋ก ์ด์ด์ง๋๋ค.
๊ฒฐ๋ก : ๋ ์์ ํ ๋ธ๋ผ์ฐ์ง ๊ฒฝํ์ ์ํ ๊ณต๋์ ์ฑ ์
์ ๊ตํ ์๋ฐ์คํฌ๋ฆฝํธ ์๋๋ฐ์ค ๊ตฌํ, ๊ถํ ์์คํ ๋ฐ ์ฝํ ์ธ ๋ณด์ ์ ์ฑ ์ ๊ฐ์ถ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์ ๋ชจ๋ธ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๊ฐ๋ ฅํ๊ณ ๋๋ฆฌ ํผ์ง ์ธ์์์ ์ฌ์ฉ์๋ฅผ ๋ณดํธํ๋ ค๋ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ๊ธฐ๋ ๋น์ ์ธ ๋ ธ๋ ฅ์ ๋ํ๋ ๋๋ค. ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ํ ๊ฒฉ๋ฆฌ๋ ์ธ๊ณ, ์ ์ฉ ์๋น์ค ์์ปค, ์๊ฒฉํ API ์ ์ด๋ผ๋ ๊ฐ๋ ์ ๋จ์ํ ๊ธฐ์ ์ฉ์ด๊ฐ ์๋๋๋ค. ์ด๋ ์ฐ๋ฆฌ๊ฐ ๋์์์ด ์์์ ๋๋ ค์ํ์ง ์๊ณ ๋ธ๋ผ์ฐ์ง ๊ฒฝํ์ ํฅ์์ํฌ ์ ์๊ฒ ํด์ฃผ๋ ๋ณด์ด์ง ์๋ ๋ณดํธ์์ ๋๋ค.
๊ทธ๋ฌ๋ ์ด ๋ณด์์ ๊ณต๋์ ์ฑ ์์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๋ ๊ณ์ํด์ ํ์ ํ๊ณ ๋ ์๊ฒฉํ ์ ์ฑ ์ ์ํํ ๊ฒ์ด์ง๋ง(๋งค๋ํ์คํธ V3์์ ๋ณผ ์ ์๋ฏ์ด), ๊ฐ๋ฐ์๋ ์์ ํ๊ณ ์ต์ ๊ถํ์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ์ ๋ ํด์ผ ํ๋ฉฐ, ์ฌ์ฉ์๋ ์์ ์ด ๋ถ์ฌํ๋ ๊ถํ์ ์ดํดํ๊ณ ์ ๋ขฐํ ์ ์๋ ์ถ์ฒ์์๋ง ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์นํ๋ ๊ฒฝ๊ณ๋ฅผ ๋ฆ์ถ์ง ์์์ผ ํฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์์ ํ๊ฒ ๊ตฌ์ถํ๊ณ , ๊ณต๊ธ์ ์ฒด๊ฐ ๊ฒฌ๊ณ ํ ํ๋ ์์ํฌ์ ๊ฒํ ๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ์ ๋ณด์ ์ ๊ฐํ ์ ํ์ ํจ์ผ๋ก์จ ํจ๊ป ๋ ธ๋ ฅํจ์ผ๋ก์จ, ์ฐ๋ฆฌ๋ ๋ชจ๋๋ฅผ ์ํด ๋ ์์ ํ๊ณ , ์์ฐ์ ์ด๋ฉฐ, ์ ๋ขฐํ ์ ์๋ ๊ธ๋ก๋ฒ ์น ๊ฒฝํ์ ๊ณต๋์ผ๋ก ์ก์ฑํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ณด์ ๊ธฐ์ด๋ฅผ ์ดํดํ๋ฉด ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋์งํธ ์ธ๊ณ๋ฅผ ๋ ํฐ ์์ ๊ฐ์ ๊ฐ์ง๊ณ ํ์ํ๊ณ , ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ถ์ธํ ์ ์๋ ์ด์ ์ ํ์ฉํ๋ฉด์ ๋ด์ฌ๋ ์ํ์ ํจ๊ณผ์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋ณด์์ ๋ฏธ๋๋ ์์ฌํ ์ฌ์ง ์์ด ๋ ๋ง์ ํ์ ์ ๊ฐ์ ธ์ฌ ๊ฒ์ด์ง๋ง, ๊ฒฉ๋ฆฌ, ์ต์ ๊ถํ ๋ฐ ์ ๋ณด์ ์ ๊ฐํ ๋์์ ํต์ฌ ์์น์ ์ฐ๋ฆฌ์ ๋์งํธ ์ํ์ ๋ณดํธํ๋ ๊ธฐ๋ฐ์ผ๋ก ๋จ์ ๊ฒ์ ๋๋ค.